@raindancers/agentl 0.0.2 → 0.0.3
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/.jsii +107 -25
- package/API.md +75 -0
- package/lib/gha-codebuild-trigger.d.ts +3 -0
- package/lib/gha-codebuild-trigger.js +4 -2
- package/lib/gha-oidc-role.js +1 -1
- package/lib/gha-pipeline.js +1 -1
- package/lib/gha-stage.js +1 -1
- package/lib/gha-wave.js +1 -1
- package/lib/gha-workflow.d.ts +3 -0
- package/lib/gha-workflow.js +7 -4
- package/lib/shared.d.ts +15 -0
- package/lib/shared.js +18 -1
- package/lib/utils/json-patch.js +1 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -9559,7 +9559,7 @@
|
|
|
9559
9559
|
"kind": "interface",
|
|
9560
9560
|
"locationInModule": {
|
|
9561
9561
|
"filename": "src/gha-codebuild-trigger.ts",
|
|
9562
|
-
"line":
|
|
9562
|
+
"line": 5
|
|
9563
9563
|
},
|
|
9564
9564
|
"name": "GHACodeBuildTriggerConfig",
|
|
9565
9565
|
"properties": [
|
|
@@ -9572,7 +9572,7 @@
|
|
|
9572
9572
|
"immutable": true,
|
|
9573
9573
|
"locationInModule": {
|
|
9574
9574
|
"filename": "src/gha-codebuild-trigger.ts",
|
|
9575
|
-
"line":
|
|
9575
|
+
"line": 15
|
|
9576
9576
|
},
|
|
9577
9577
|
"name": "awsRegion",
|
|
9578
9578
|
"type": {
|
|
@@ -9588,7 +9588,7 @@
|
|
|
9588
9588
|
"immutable": true,
|
|
9589
9589
|
"locationInModule": {
|
|
9590
9590
|
"filename": "src/gha-codebuild-trigger.ts",
|
|
9591
|
-
"line":
|
|
9591
|
+
"line": 19
|
|
9592
9592
|
},
|
|
9593
9593
|
"name": "codeBuildProjectName",
|
|
9594
9594
|
"type": {
|
|
@@ -9604,7 +9604,7 @@
|
|
|
9604
9604
|
"immutable": true,
|
|
9605
9605
|
"locationInModule": {
|
|
9606
9606
|
"filename": "src/gha-codebuild-trigger.ts",
|
|
9607
|
-
"line":
|
|
9607
|
+
"line": 17
|
|
9608
9608
|
},
|
|
9609
9609
|
"name": "deployRoleArn",
|
|
9610
9610
|
"type": {
|
|
@@ -9620,7 +9620,7 @@
|
|
|
9620
9620
|
"immutable": true,
|
|
9621
9621
|
"locationInModule": {
|
|
9622
9622
|
"filename": "src/gha-codebuild-trigger.ts",
|
|
9623
|
-
"line":
|
|
9623
|
+
"line": 11
|
|
9624
9624
|
},
|
|
9625
9625
|
"name": "triggerPaths",
|
|
9626
9626
|
"type": {
|
|
@@ -9641,7 +9641,7 @@
|
|
|
9641
9641
|
"immutable": true,
|
|
9642
9642
|
"locationInModule": {
|
|
9643
9643
|
"filename": "src/gha-codebuild-trigger.ts",
|
|
9644
|
-
"line":
|
|
9644
|
+
"line": 9
|
|
9645
9645
|
},
|
|
9646
9646
|
"name": "workflowFileName",
|
|
9647
9647
|
"type": {
|
|
@@ -9657,7 +9657,7 @@
|
|
|
9657
9657
|
"immutable": true,
|
|
9658
9658
|
"locationInModule": {
|
|
9659
9659
|
"filename": "src/gha-codebuild-trigger.ts",
|
|
9660
|
-
"line":
|
|
9660
|
+
"line": 7
|
|
9661
9661
|
},
|
|
9662
9662
|
"name": "workflowName",
|
|
9663
9663
|
"type": {
|
|
@@ -9674,7 +9674,7 @@
|
|
|
9674
9674
|
"immutable": true,
|
|
9675
9675
|
"locationInModule": {
|
|
9676
9676
|
"filename": "src/gha-codebuild-trigger.ts",
|
|
9677
|
-
"line":
|
|
9677
|
+
"line": 13
|
|
9678
9678
|
},
|
|
9679
9679
|
"name": "deployBranch",
|
|
9680
9680
|
"optional": true,
|
|
@@ -9692,13 +9692,31 @@
|
|
|
9692
9692
|
"immutable": true,
|
|
9693
9693
|
"locationInModule": {
|
|
9694
9694
|
"filename": "src/gha-codebuild-trigger.ts",
|
|
9695
|
-
"line":
|
|
9695
|
+
"line": 21
|
|
9696
9696
|
},
|
|
9697
9697
|
"name": "outputDir",
|
|
9698
9698
|
"optional": true,
|
|
9699
9699
|
"type": {
|
|
9700
9700
|
"primitive": "string"
|
|
9701
9701
|
}
|
|
9702
|
+
},
|
|
9703
|
+
{
|
|
9704
|
+
"abstract": true,
|
|
9705
|
+
"docs": {
|
|
9706
|
+
"default": "RunnerSize.STANDARD (2 cores)",
|
|
9707
|
+
"stability": "stable",
|
|
9708
|
+
"summary": "GitHub Actions runner size."
|
|
9709
|
+
},
|
|
9710
|
+
"immutable": true,
|
|
9711
|
+
"locationInModule": {
|
|
9712
|
+
"filename": "src/gha-codebuild-trigger.ts",
|
|
9713
|
+
"line": 23
|
|
9714
|
+
},
|
|
9715
|
+
"name": "runnerSize",
|
|
9716
|
+
"optional": true,
|
|
9717
|
+
"type": {
|
|
9718
|
+
"fqn": "@raindancers/agentl.RunnerSize"
|
|
9719
|
+
}
|
|
9702
9720
|
}
|
|
9703
9721
|
],
|
|
9704
9722
|
"symbolId": "src/gha-codebuild-trigger:GHACodeBuildTriggerConfig"
|
|
@@ -10502,7 +10520,7 @@
|
|
|
10502
10520
|
"kind": "interface",
|
|
10503
10521
|
"locationInModule": {
|
|
10504
10522
|
"filename": "src/gha-workflow.ts",
|
|
10505
|
-
"line":
|
|
10523
|
+
"line": 6
|
|
10506
10524
|
},
|
|
10507
10525
|
"name": "GHAWorkflowConfig",
|
|
10508
10526
|
"properties": [
|
|
@@ -10515,7 +10533,7 @@
|
|
|
10515
10533
|
"immutable": true,
|
|
10516
10534
|
"locationInModule": {
|
|
10517
10535
|
"filename": "src/gha-workflow.ts",
|
|
10518
|
-
"line":
|
|
10536
|
+
"line": 10
|
|
10519
10537
|
},
|
|
10520
10538
|
"name": "awsRegion",
|
|
10521
10539
|
"type": {
|
|
@@ -10531,7 +10549,7 @@
|
|
|
10531
10549
|
"immutable": true,
|
|
10532
10550
|
"locationInModule": {
|
|
10533
10551
|
"filename": "src/gha-workflow.ts",
|
|
10534
|
-
"line":
|
|
10552
|
+
"line": 12
|
|
10535
10553
|
},
|
|
10536
10554
|
"name": "deployRoleArn",
|
|
10537
10555
|
"type": {
|
|
@@ -10548,7 +10566,7 @@
|
|
|
10548
10566
|
"immutable": true,
|
|
10549
10567
|
"locationInModule": {
|
|
10550
10568
|
"filename": "src/gha-workflow.ts",
|
|
10551
|
-
"line":
|
|
10569
|
+
"line": 16
|
|
10552
10570
|
},
|
|
10553
10571
|
"name": "bedrockRegion",
|
|
10554
10572
|
"optional": true,
|
|
@@ -10566,7 +10584,7 @@
|
|
|
10566
10584
|
"immutable": true,
|
|
10567
10585
|
"locationInModule": {
|
|
10568
10586
|
"filename": "src/gha-workflow.ts",
|
|
10569
|
-
"line":
|
|
10587
|
+
"line": 14
|
|
10570
10588
|
},
|
|
10571
10589
|
"name": "bedrockRoleArn",
|
|
10572
10590
|
"optional": true,
|
|
@@ -10584,7 +10602,7 @@
|
|
|
10584
10602
|
"immutable": true,
|
|
10585
10603
|
"locationInModule": {
|
|
10586
10604
|
"filename": "src/gha-workflow.ts",
|
|
10587
|
-
"line":
|
|
10605
|
+
"line": 24
|
|
10588
10606
|
},
|
|
10589
10607
|
"name": "deployBranch",
|
|
10590
10608
|
"optional": true,
|
|
@@ -10602,7 +10620,7 @@
|
|
|
10602
10620
|
"immutable": true,
|
|
10603
10621
|
"locationInModule": {
|
|
10604
10622
|
"filename": "src/gha-workflow.ts",
|
|
10605
|
-
"line":
|
|
10623
|
+
"line": 28
|
|
10606
10624
|
},
|
|
10607
10625
|
"name": "deployConcurrency",
|
|
10608
10626
|
"optional": true,
|
|
@@ -10620,7 +10638,7 @@
|
|
|
10620
10638
|
"immutable": true,
|
|
10621
10639
|
"locationInModule": {
|
|
10622
10640
|
"filename": "src/gha-workflow.ts",
|
|
10623
|
-
"line":
|
|
10641
|
+
"line": 30
|
|
10624
10642
|
},
|
|
10625
10643
|
"name": "diffStageIndex",
|
|
10626
10644
|
"optional": true,
|
|
@@ -10638,7 +10656,7 @@
|
|
|
10638
10656
|
"immutable": true,
|
|
10639
10657
|
"locationInModule": {
|
|
10640
10658
|
"filename": "src/gha-workflow.ts",
|
|
10641
|
-
"line":
|
|
10659
|
+
"line": 26
|
|
10642
10660
|
},
|
|
10643
10661
|
"name": "enableBedrockAnalysis",
|
|
10644
10662
|
"optional": true,
|
|
@@ -10656,7 +10674,7 @@
|
|
|
10656
10674
|
"immutable": true,
|
|
10657
10675
|
"locationInModule": {
|
|
10658
10676
|
"filename": "src/gha-workflow.ts",
|
|
10659
|
-
"line":
|
|
10677
|
+
"line": 20
|
|
10660
10678
|
},
|
|
10661
10679
|
"name": "installCommand",
|
|
10662
10680
|
"optional": true,
|
|
@@ -10674,7 +10692,7 @@
|
|
|
10674
10692
|
"immutable": true,
|
|
10675
10693
|
"locationInModule": {
|
|
10676
10694
|
"filename": "src/gha-workflow.ts",
|
|
10677
|
-
"line":
|
|
10695
|
+
"line": 18
|
|
10678
10696
|
},
|
|
10679
10697
|
"name": "nodeVersion",
|
|
10680
10698
|
"optional": true,
|
|
@@ -10692,7 +10710,7 @@
|
|
|
10692
10710
|
"immutable": true,
|
|
10693
10711
|
"locationInModule": {
|
|
10694
10712
|
"filename": "src/gha-workflow.ts",
|
|
10695
|
-
"line":
|
|
10713
|
+
"line": 8
|
|
10696
10714
|
},
|
|
10697
10715
|
"name": "outputDir",
|
|
10698
10716
|
"optional": true,
|
|
@@ -10700,6 +10718,24 @@
|
|
|
10700
10718
|
"primitive": "string"
|
|
10701
10719
|
}
|
|
10702
10720
|
},
|
|
10721
|
+
{
|
|
10722
|
+
"abstract": true,
|
|
10723
|
+
"docs": {
|
|
10724
|
+
"default": "RunnerSize.STANDARD (2 cores)",
|
|
10725
|
+
"stability": "stable",
|
|
10726
|
+
"summary": "GitHub Actions runner size."
|
|
10727
|
+
},
|
|
10728
|
+
"immutable": true,
|
|
10729
|
+
"locationInModule": {
|
|
10730
|
+
"filename": "src/gha-workflow.ts",
|
|
10731
|
+
"line": 34
|
|
10732
|
+
},
|
|
10733
|
+
"name": "runnerSize",
|
|
10734
|
+
"optional": true,
|
|
10735
|
+
"type": {
|
|
10736
|
+
"fqn": "@raindancers/agentl.RunnerSize"
|
|
10737
|
+
}
|
|
10738
|
+
},
|
|
10703
10739
|
{
|
|
10704
10740
|
"abstract": true,
|
|
10705
10741
|
"docs": {
|
|
@@ -10710,7 +10746,7 @@
|
|
|
10710
10746
|
"immutable": true,
|
|
10711
10747
|
"locationInModule": {
|
|
10712
10748
|
"filename": "src/gha-workflow.ts",
|
|
10713
|
-
"line":
|
|
10749
|
+
"line": 22
|
|
10714
10750
|
},
|
|
10715
10751
|
"name": "synthCommand",
|
|
10716
10752
|
"optional": true,
|
|
@@ -10728,7 +10764,7 @@
|
|
|
10728
10764
|
"immutable": true,
|
|
10729
10765
|
"locationInModule": {
|
|
10730
10766
|
"filename": "src/gha-workflow.ts",
|
|
10731
|
-
"line":
|
|
10767
|
+
"line": 32
|
|
10732
10768
|
},
|
|
10733
10769
|
"name": "triggerDeployPaths",
|
|
10734
10770
|
"optional": true,
|
|
@@ -11128,6 +11164,52 @@
|
|
|
11128
11164
|
],
|
|
11129
11165
|
"symbolId": "src/utils/json-patch:Patch"
|
|
11130
11166
|
},
|
|
11167
|
+
"@raindancers/agentl.RunnerSize": {
|
|
11168
|
+
"assembly": "@raindancers/agentl",
|
|
11169
|
+
"docs": {
|
|
11170
|
+
"remarks": "Controls the number of CPU cores available to the runner.\nLarger runners are faster but cost more. Requires GitHub Team or Enterprise plan\nfor anything above STANDARD.",
|
|
11171
|
+
"stability": "stable",
|
|
11172
|
+
"summary": "GitHub Actions runner size."
|
|
11173
|
+
},
|
|
11174
|
+
"fqn": "@raindancers/agentl.RunnerSize",
|
|
11175
|
+
"kind": "enum",
|
|
11176
|
+
"locationInModule": {
|
|
11177
|
+
"filename": "src/shared.ts",
|
|
11178
|
+
"line": 18
|
|
11179
|
+
},
|
|
11180
|
+
"members": [
|
|
11181
|
+
{
|
|
11182
|
+
"docs": {
|
|
11183
|
+
"stability": "stable",
|
|
11184
|
+
"summary": "2 cores (default, free tier)."
|
|
11185
|
+
},
|
|
11186
|
+
"name": "STANDARD"
|
|
11187
|
+
},
|
|
11188
|
+
{
|
|
11189
|
+
"docs": {
|
|
11190
|
+
"stability": "stable",
|
|
11191
|
+
"summary": "4 cores."
|
|
11192
|
+
},
|
|
11193
|
+
"name": "LARGE"
|
|
11194
|
+
},
|
|
11195
|
+
{
|
|
11196
|
+
"docs": {
|
|
11197
|
+
"stability": "stable",
|
|
11198
|
+
"summary": "8 cores."
|
|
11199
|
+
},
|
|
11200
|
+
"name": "XLARGE"
|
|
11201
|
+
},
|
|
11202
|
+
{
|
|
11203
|
+
"docs": {
|
|
11204
|
+
"stability": "stable",
|
|
11205
|
+
"summary": "16 cores."
|
|
11206
|
+
},
|
|
11207
|
+
"name": "XXLARGE"
|
|
11208
|
+
}
|
|
11209
|
+
],
|
|
11210
|
+
"name": "RunnerSize",
|
|
11211
|
+
"symbolId": "src/shared:RunnerSize"
|
|
11212
|
+
},
|
|
11131
11213
|
"@raindancers/agentl.StackEntry": {
|
|
11132
11214
|
"assembly": "@raindancers/agentl",
|
|
11133
11215
|
"datatype": true,
|
|
@@ -11233,6 +11315,6 @@
|
|
|
11233
11315
|
"symbolId": "src/bedrock-analysis:WellArchitectedPillar"
|
|
11234
11316
|
}
|
|
11235
11317
|
},
|
|
11236
|
-
"version": "0.0.
|
|
11237
|
-
"fingerprint": "
|
|
11318
|
+
"version": "0.0.3",
|
|
11319
|
+
"fingerprint": "VbpKx/0Bo2Mq7ump523gDo/wQ0d1LMa0Rk+1sZnoPW4="
|
|
11238
11320
|
}
|
package/API.md
CHANGED
|
@@ -573,6 +573,7 @@ const gHACodeBuildTriggerConfig: GHACodeBuildTriggerConfig = { ... }
|
|
|
573
573
|
| <code><a href="#@raindancers/agentl.GHACodeBuildTriggerConfig.property.workflowName">workflowName</a></code> | <code>string</code> | Name of the workflow (appears in GitHub Actions UI). |
|
|
574
574
|
| <code><a href="#@raindancers/agentl.GHACodeBuildTriggerConfig.property.deployBranch">deployBranch</a></code> | <code>string</code> | Branch that triggers the workflow. |
|
|
575
575
|
| <code><a href="#@raindancers/agentl.GHACodeBuildTriggerConfig.property.outputDir">outputDir</a></code> | <code>string</code> | Directory to write workflow files. |
|
|
576
|
+
| <code><a href="#@raindancers/agentl.GHACodeBuildTriggerConfig.property.runnerSize">runnerSize</a></code> | <code><a href="#@raindancers/agentl.RunnerSize">RunnerSize</a></code> | GitHub Actions runner size. |
|
|
576
577
|
|
|
577
578
|
---
|
|
578
579
|
|
|
@@ -674,6 +675,19 @@ Directory to write workflow files.
|
|
|
674
675
|
|
|
675
676
|
---
|
|
676
677
|
|
|
678
|
+
##### `runnerSize`<sup>Optional</sup> <a name="runnerSize" id="@raindancers/agentl.GHACodeBuildTriggerConfig.property.runnerSize"></a>
|
|
679
|
+
|
|
680
|
+
```typescript
|
|
681
|
+
public readonly runnerSize: RunnerSize;
|
|
682
|
+
```
|
|
683
|
+
|
|
684
|
+
- *Type:* <a href="#@raindancers/agentl.RunnerSize">RunnerSize</a>
|
|
685
|
+
- *Default:* RunnerSize.STANDARD (2 cores)
|
|
686
|
+
|
|
687
|
+
GitHub Actions runner size.
|
|
688
|
+
|
|
689
|
+
---
|
|
690
|
+
|
|
677
691
|
### GHAOidcRoleProps <a name="GHAOidcRoleProps" id="@raindancers/agentl.GHAOidcRoleProps"></a>
|
|
678
692
|
|
|
679
693
|
#### Initializer <a name="Initializer" id="@raindancers/agentl.GHAOidcRoleProps.Initializer"></a>
|
|
@@ -890,6 +904,7 @@ const gHAWorkflowConfig: GHAWorkflowConfig = { ... }
|
|
|
890
904
|
| <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.installCommand">installCommand</a></code> | <code>string</code> | Install command. |
|
|
891
905
|
| <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.nodeVersion">nodeVersion</a></code> | <code>string</code> | Node.js version. |
|
|
892
906
|
| <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.outputDir">outputDir</a></code> | <code>string</code> | Directory to write workflow files. |
|
|
907
|
+
| <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.runnerSize">runnerSize</a></code> | <code><a href="#@raindancers/agentl.RunnerSize">RunnerSize</a></code> | GitHub Actions runner size. |
|
|
893
908
|
| <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.synthCommand">synthCommand</a></code> | <code>string</code> | Synth command. |
|
|
894
909
|
| <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.triggerDeployPaths">triggerDeployPaths</a></code> | <code>string[]</code> | Path filters for triggering deploy and PR review workflows. |
|
|
895
910
|
|
|
@@ -1036,6 +1051,19 @@ Directory to write workflow files.
|
|
|
1036
1051
|
|
|
1037
1052
|
---
|
|
1038
1053
|
|
|
1054
|
+
##### `runnerSize`<sup>Optional</sup> <a name="runnerSize" id="@raindancers/agentl.GHAWorkflowConfig.property.runnerSize"></a>
|
|
1055
|
+
|
|
1056
|
+
```typescript
|
|
1057
|
+
public readonly runnerSize: RunnerSize;
|
|
1058
|
+
```
|
|
1059
|
+
|
|
1060
|
+
- *Type:* <a href="#@raindancers/agentl.RunnerSize">RunnerSize</a>
|
|
1061
|
+
- *Default:* RunnerSize.STANDARD (2 cores)
|
|
1062
|
+
|
|
1063
|
+
GitHub Actions runner size.
|
|
1064
|
+
|
|
1065
|
+
---
|
|
1066
|
+
|
|
1039
1067
|
##### `synthCommand`<sup>Optional</sup> <a name="synthCommand" id="@raindancers/agentl.GHAWorkflowConfig.property.synthCommand"></a>
|
|
1040
1068
|
|
|
1041
1069
|
```typescript
|
|
@@ -1842,6 +1870,53 @@ JsonPatch.test('/best_biscuit/name', 'Choco Leibniz')
|
|
|
1842
1870
|
|
|
1843
1871
|
## Enums <a name="Enums" id="Enums"></a>
|
|
1844
1872
|
|
|
1873
|
+
### RunnerSize <a name="RunnerSize" id="@raindancers/agentl.RunnerSize"></a>
|
|
1874
|
+
|
|
1875
|
+
GitHub Actions runner size.
|
|
1876
|
+
|
|
1877
|
+
Controls the number of CPU cores available to the runner.
|
|
1878
|
+
Larger runners are faster but cost more. Requires GitHub Team or Enterprise plan
|
|
1879
|
+
for anything above STANDARD.
|
|
1880
|
+
|
|
1881
|
+
#### Members <a name="Members" id="Members"></a>
|
|
1882
|
+
|
|
1883
|
+
| **Name** | **Description** |
|
|
1884
|
+
| --- | --- |
|
|
1885
|
+
| <code><a href="#@raindancers/agentl.RunnerSize.STANDARD">STANDARD</a></code> | 2 cores (default, free tier). |
|
|
1886
|
+
| <code><a href="#@raindancers/agentl.RunnerSize.LARGE">LARGE</a></code> | 4 cores. |
|
|
1887
|
+
| <code><a href="#@raindancers/agentl.RunnerSize.XLARGE">XLARGE</a></code> | 8 cores. |
|
|
1888
|
+
| <code><a href="#@raindancers/agentl.RunnerSize.XXLARGE">XXLARGE</a></code> | 16 cores. |
|
|
1889
|
+
|
|
1890
|
+
---
|
|
1891
|
+
|
|
1892
|
+
##### `STANDARD` <a name="STANDARD" id="@raindancers/agentl.RunnerSize.STANDARD"></a>
|
|
1893
|
+
|
|
1894
|
+
2 cores (default, free tier).
|
|
1895
|
+
|
|
1896
|
+
---
|
|
1897
|
+
|
|
1898
|
+
|
|
1899
|
+
##### `LARGE` <a name="LARGE" id="@raindancers/agentl.RunnerSize.LARGE"></a>
|
|
1900
|
+
|
|
1901
|
+
4 cores.
|
|
1902
|
+
|
|
1903
|
+
---
|
|
1904
|
+
|
|
1905
|
+
|
|
1906
|
+
##### `XLARGE` <a name="XLARGE" id="@raindancers/agentl.RunnerSize.XLARGE"></a>
|
|
1907
|
+
|
|
1908
|
+
8 cores.
|
|
1909
|
+
|
|
1910
|
+
---
|
|
1911
|
+
|
|
1912
|
+
|
|
1913
|
+
##### `XXLARGE` <a name="XXLARGE" id="@raindancers/agentl.RunnerSize.XXLARGE"></a>
|
|
1914
|
+
|
|
1915
|
+
16 cores.
|
|
1916
|
+
|
|
1917
|
+
---
|
|
1918
|
+
|
|
1919
|
+
|
|
1845
1920
|
### WellArchitectedPillar <a name="WellArchitectedPillar" id="@raindancers/agentl.WellArchitectedPillar"></a>
|
|
1846
1921
|
|
|
1847
1922
|
#### Members <a name="Members" id="Members"></a>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RunnerSize } from './shared';
|
|
1
2
|
export interface GHACodeBuildTriggerConfig {
|
|
2
3
|
/** Name of the workflow (appears in GitHub Actions UI) */
|
|
3
4
|
readonly workflowName: string;
|
|
@@ -15,6 +16,8 @@ export interface GHACodeBuildTriggerConfig {
|
|
|
15
16
|
readonly codeBuildProjectName: string;
|
|
16
17
|
/** Directory to write workflow files @default .github/workflows */
|
|
17
18
|
readonly outputDir?: string;
|
|
19
|
+
/** GitHub Actions runner size @default RunnerSize.STANDARD (2 cores) */
|
|
20
|
+
readonly runnerSize?: RunnerSize;
|
|
18
21
|
}
|
|
19
22
|
/**
|
|
20
23
|
* Generates a GitHub Actions workflow that triggers an AWS CodeBuild project
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.generateCodeBuildTriggerWorkflow = generateCodeBuildTriggerWorkflow;
|
|
4
4
|
const fs = require("fs");
|
|
5
5
|
const path = require("path");
|
|
6
|
+
const shared_1 = require("./shared");
|
|
6
7
|
/**
|
|
7
8
|
* Generates a GitHub Actions workflow that triggers an AWS CodeBuild project
|
|
8
9
|
* when specified file paths change on push to a branch.
|
|
@@ -15,6 +16,7 @@ function generateCodeBuildTriggerWorkflow(config) {
|
|
|
15
16
|
}
|
|
16
17
|
function buildCodeBuildTriggerWorkflow(config) {
|
|
17
18
|
const branch = config.deployBranch || 'main';
|
|
19
|
+
const runsOn = config.runnerSize || shared_1.RunnerSize.STANDARD;
|
|
18
20
|
const lines = [
|
|
19
21
|
'# ~~ Generated by @raindancers/agentl. To modify, edit your CDK app and run "npx cdk synth".',
|
|
20
22
|
'name: ' + config.workflowName,
|
|
@@ -27,7 +29,7 @@ function buildCodeBuildTriggerWorkflow(config) {
|
|
|
27
29
|
for (const p of config.triggerPaths) {
|
|
28
30
|
lines.push(' - \'' + p + '\'');
|
|
29
31
|
}
|
|
30
|
-
lines.push('', 'permissions:', ' id-token: write', ' contents: read', '', 'jobs:', ' trigger:', ' runs-on:
|
|
32
|
+
lines.push('', 'permissions:', ' id-token: write', ' contents: read', '', 'jobs:', ' trigger:', ' runs-on: ' + runsOn, ' steps:', ' - name: Configure AWS credentials', ' uses: aws-actions/configure-aws-credentials@v4', ' with:', ' role-to-assume: ' + config.deployRoleArn, ' aws-region: ' + config.awsRegion, '', ' - name: Trigger CodeBuild', ' run: aws codebuild start-build --project-name ' + config.codeBuildProjectName + ' --region ' + config.awsRegion);
|
|
31
33
|
return lines.join('\n') + '\n';
|
|
32
34
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hhLWNvZGVidWlsZC10cmlnZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2doYS1jb2RlYnVpbGQtdHJpZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTZCQSw0RUFNQztBQW5DRCx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLHFDQUFzQztBQXVCdEM7OztHQUdHO0FBQ0gsU0FBZ0IsZ0NBQWdDLENBQUMsTUFBaUM7SUFDaEYsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxtQkFBbUIsQ0FBQztJQUMxRCxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTdDLE1BQU0sT0FBTyxHQUFHLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUVELFNBQVMsNkJBQTZCLENBQUMsTUFBaUM7SUFDdEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUM7SUFDN0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxtQkFBVSxDQUFDLFFBQVEsQ0FBQztJQUV4RCxNQUFNLEtBQUssR0FBYTtRQUN0Qiw4RkFBOEY7UUFDOUYsUUFBUSxHQUFHLE1BQU0sQ0FBQyxZQUFZO1FBQzlCLEVBQUU7UUFDRixLQUFLO1FBQ0wsU0FBUztRQUNULGlCQUFpQixHQUFHLE1BQU0sR0FBRyxHQUFHO1FBQ2hDLFlBQVk7S0FDYixDQUFDO0lBRUYsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUNSLEVBQUUsRUFDRixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixFQUFFLEVBQ0YsT0FBTyxFQUNQLFlBQVksRUFDWixlQUFlLEdBQUcsTUFBTSxFQUN4QixZQUFZLEVBQ1oseUNBQXlDLEVBQ3pDLHdEQUF3RCxFQUN4RCxlQUFlLEVBQ2YsNEJBQTRCLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFDbkQsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFDM0MsRUFBRSxFQUNGLGlDQUFpQyxFQUNqQyx3REFBd0QsR0FBRyxNQUFNLENBQUMsb0JBQW9CLEdBQUcsWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQ3pILENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgUnVubmVyU2l6ZSB9IGZyb20gJy4vc2hhcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBHSEFDb2RlQnVpbGRUcmlnZ2VyQ29uZmlnIHtcbiAgLyoqIE5hbWUgb2YgdGhlIHdvcmtmbG93IChhcHBlYXJzIGluIEdpdEh1YiBBY3Rpb25zIFVJKSAqL1xuICByZWFkb25seSB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgLyoqIEZpbGVuYW1lIGZvciB0aGUgd29ya2Zsb3cgKGUuZy4gJ3B1Ymxpc2gtZG9jcy55bWwnKSAqL1xuICByZWFkb25seSB3b3JrZmxvd0ZpbGVOYW1lOiBzdHJpbmc7XG4gIC8qKiBQYXRoIGZpbHRlcnMgdGhhdCB0cmlnZ2VyIHRoaXMgd29ya2Zsb3cgKGUuZy4gWydwdWJsaXNoLyoqJywgJ21rZG9jcy55bWwnXSkgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlclBhdGhzOiBzdHJpbmdbXTtcbiAgLyoqIEJyYW5jaCB0aGF0IHRyaWdnZXJzIHRoZSB3b3JrZmxvdyBAZGVmYXVsdCBtYWluICovXG4gIHJlYWRvbmx5IGRlcGxveUJyYW5jaD86IHN0cmluZztcbiAgLyoqIEFXUyByZWdpb24gd2hlcmUgdGhlIENvZGVCdWlsZCBwcm9qZWN0IGxpdmVzICovXG4gIHJlYWRvbmx5IGF3c1JlZ2lvbjogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIHRvIGFzc3VtZSB2aWEgR2l0SHViIE9JREMgKi9cbiAgcmVhZG9ubHkgZGVwbG95Um9sZUFybjogc3RyaW5nO1xuICAvKiogTmFtZSBvZiB0aGUgQ29kZUJ1aWxkIHByb2plY3QgdG8gdHJpZ2dlciAqL1xuICByZWFkb25seSBjb2RlQnVpbGRQcm9qZWN0TmFtZTogc3RyaW5nO1xuICAvKiogRGlyZWN0b3J5IHRvIHdyaXRlIHdvcmtmbG93IGZpbGVzIEBkZWZhdWx0IC5naXRodWIvd29ya2Zsb3dzICovXG4gIHJlYWRvbmx5IG91dHB1dERpcj86IHN0cmluZztcbiAgLyoqIEdpdEh1YiBBY3Rpb25zIHJ1bm5lciBzaXplIEBkZWZhdWx0IFJ1bm5lclNpemUuU1RBTkRBUkQgKDIgY29yZXMpICovXG4gIHJlYWRvbmx5IHJ1bm5lclNpemU/OiBSdW5uZXJTaXplO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93IHRoYXQgdHJpZ2dlcnMgYW4gQVdTIENvZGVCdWlsZCBwcm9qZWN0XG4gKiB3aGVuIHNwZWNpZmllZCBmaWxlIHBhdGhzIGNoYW5nZSBvbiBwdXNoIHRvIGEgYnJhbmNoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVDb2RlQnVpbGRUcmlnZ2VyV29ya2Zsb3coY29uZmlnOiBHSEFDb2RlQnVpbGRUcmlnZ2VyQ29uZmlnKTogdm9pZCB7XG4gIGNvbnN0IG91dHB1dERpciA9IGNvbmZpZy5vdXRwdXREaXIgfHwgJy5naXRodWIvd29ya2Zsb3dzJztcbiAgZnMubWtkaXJTeW5jKG91dHB1dERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgY29uc3QgY29udGVudCA9IGJ1aWxkQ29kZUJ1aWxkVHJpZ2dlcldvcmtmbG93KGNvbmZpZyk7XG4gIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKG91dHB1dERpciwgY29uZmlnLndvcmtmbG93RmlsZU5hbWUpLCBjb250ZW50KTtcbn1cblxuZnVuY3Rpb24gYnVpbGRDb2RlQnVpbGRUcmlnZ2VyV29ya2Zsb3coY29uZmlnOiBHSEFDb2RlQnVpbGRUcmlnZ2VyQ29uZmlnKTogc3RyaW5nIHtcbiAgY29uc3QgYnJhbmNoID0gY29uZmlnLmRlcGxveUJyYW5jaCB8fCAnbWFpbic7XG4gIGNvbnN0IHJ1bnNPbiA9IGNvbmZpZy5ydW5uZXJTaXplIHx8IFJ1bm5lclNpemUuU1RBTkRBUkQ7XG5cbiAgY29uc3QgbGluZXM6IHN0cmluZ1tdID0gW1xuICAgICcjIH5+IEdlbmVyYXRlZCBieSBAcmFpbmRhbmNlcnMvYWdlbnRsLiBUbyBtb2RpZnksIGVkaXQgeW91ciBDREsgYXBwIGFuZCBydW4gXCJucHggY2RrIHN5bnRoXCIuJyxcbiAgICAnbmFtZTogJyArIGNvbmZpZy53b3JrZmxvd05hbWUsXG4gICAgJycsXG4gICAgJ29uOicsXG4gICAgJyAgcHVzaDonLFxuICAgICcgICAgYnJhbmNoZXM6IFsnICsgYnJhbmNoICsgJ10nLFxuICAgICcgICAgcGF0aHM6JyxcbiAgXTtcblxuICBmb3IgKGNvbnN0IHAgb2YgY29uZmlnLnRyaWdnZXJQYXRocykge1xuICAgIGxpbmVzLnB1c2goJyAgICAgIC0gXFwnJyArIHAgKyAnXFwnJyk7XG4gIH1cblxuICBsaW5lcy5wdXNoKFxuICAgICcnLFxuICAgICdwZXJtaXNzaW9uczonLFxuICAgICcgIGlkLXRva2VuOiB3cml0ZScsXG4gICAgJyAgY29udGVudHM6IHJlYWQnLFxuICAgICcnLFxuICAgICdqb2JzOicsXG4gICAgJyAgdHJpZ2dlcjonLFxuICAgICcgICAgcnVucy1vbjogJyArIHJ1bnNPbixcbiAgICAnICAgIHN0ZXBzOicsXG4gICAgJyAgICAgIC0gbmFtZTogQ29uZmlndXJlIEFXUyBjcmVkZW50aWFscycsXG4gICAgJyAgICAgICAgdXNlczogYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2NCcsXG4gICAgJyAgICAgICAgd2l0aDonLFxuICAgICcgICAgICAgICAgcm9sZS10by1hc3N1bWU6ICcgKyBjb25maWcuZGVwbG95Um9sZUFybixcbiAgICAnICAgICAgICAgIGF3cy1yZWdpb246ICcgKyBjb25maWcuYXdzUmVnaW9uLFxuICAgICcnLFxuICAgICcgICAgICAtIG5hbWU6IFRyaWdnZXIgQ29kZUJ1aWxkJyxcbiAgICAnICAgICAgICBydW46IGF3cyBjb2RlYnVpbGQgc3RhcnQtYnVpbGQgLS1wcm9qZWN0LW5hbWUgJyArIGNvbmZpZy5jb2RlQnVpbGRQcm9qZWN0TmFtZSArICcgLS1yZWdpb24gJyArIGNvbmZpZy5hd3NSZWdpb24sXG4gICk7XG5cbiAgcmV0dXJuIGxpbmVzLmpvaW4oJ1xcbicpICsgJ1xcbic7XG59XG4iXX0=
|
package/lib/gha-oidc-role.js
CHANGED
|
@@ -104,5 +104,5 @@ class GHAOidcRole extends constructs_1.Construct {
|
|
|
104
104
|
}
|
|
105
105
|
exports.GHAOidcRole = GHAOidcRole;
|
|
106
106
|
_a = JSII_RTTI_SYMBOL_1;
|
|
107
|
-
GHAOidcRole[_a] = { fqn: "@raindancers/agentl.GHAOidcRole", version: "0.0.
|
|
107
|
+
GHAOidcRole[_a] = { fqn: "@raindancers/agentl.GHAOidcRole", version: "0.0.3" };
|
|
108
108
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hhLW9pZGMtcm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9naGEtb2lkYy1yb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBR3FCO0FBQ3JCLG9DQUFvQztBQUNwQywyQ0FBdUM7QUFxQnZDOzs7OztHQUtHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFJeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUV2QyxpRUFBaUU7UUFDakUsSUFBSSxRQUFvQyxDQUFDO1FBQ3pDLElBQUksS0FBSyxDQUFDLGNBQWMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxRQUFRLEdBQUcsSUFBSSxxQkFBRyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7Z0JBQzNELEdBQUcsRUFBRSw2Q0FBNkM7Z0JBQ2xELFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQ2pDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLE9BQU8sb0RBQW9ELENBQUM7WUFDaEcsUUFBUSxHQUFHLHFCQUFHLENBQUMscUJBQXFCLENBQUMsNEJBQTRCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNyRyxDQUFDO1FBRUQsMkJBQTJCO1FBQzNCLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM5QixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsZUFBZSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUM5QixRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLFVBQVUsbUJBQW1CLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLGlCQUFpQixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3RDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLENBQUMsVUFBVSxlQUFlLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0Qsd0VBQXdFO1FBQ3hFLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLENBQUMsVUFBVSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXhELDJCQUEyQjtRQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLHFCQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDdEMsUUFBUSxFQUFFLGNBQWMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzVELFNBQVMsRUFBRSxJQUFJLHFCQUFHLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFO2dCQUN6RSxZQUFZLEVBQUU7b0JBQ1oseUNBQXlDLEVBQUUsbUJBQW1CO2lCQUMvRDtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YseUNBQXlDLEVBQUUsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtpQkFDMUY7YUFDRixDQUFDO1lBQ0Ysa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQzNDLENBQUMsQ0FBQztRQUVILHlCQUF5QjtRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUkscUJBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdkMsR0FBRyxFQUFFLFdBQVc7WUFDaEIsT0FBTyxFQUFFO2dCQUNQLGtCQUFrQjtnQkFDbEIsa0JBQWtCO2dCQUNsQixNQUFNO2dCQUNOLGNBQWM7Z0JBQ2QsZ0JBQWdCO2FBQ2pCO1lBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBRUosdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxxQkFBRyxDQUFDLGVBQWUsQ0FBQztZQUN2QyxHQUFHLEVBQUUsb0JBQW9CO1lBQ3pCLE9BQU8sRUFBRTtnQkFDUCwyQkFBMkI7Z0JBQzNCLGlDQUFpQztnQkFDakMsNEJBQTRCO2dCQUM1QixtQkFBbUI7YUFDcEI7WUFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDakIsQ0FBQyxDQUFDLENBQUM7UUFFSixvRUFBb0U7UUFDcEUsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUkscUJBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQ3ZDLEdBQUcsRUFBRSxvQkFBb0I7Z0JBQ3pCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUMzQixTQUFTLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUMzQyxnQkFBZ0IsSUFBSSxhQUFhLENBQ2xDO2FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDO1FBRUQsc0JBQXNCO1FBQ3RCLElBQUksS0FBSyxDQUFDLGFBQWEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNsQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxJQUFJLFdBQVcsQ0FBQztZQUN6RCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUkscUJBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQ3ZDLEdBQUcsRUFBRSxpQkFBaUI7Z0JBQ3RCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNoQyxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsYUFBYSxzQkFBc0IsQ0FBQzthQUNwRSxDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7UUFFRCw4QkFBOEI7UUFDOUIsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDMUIsS0FBSyxNQUFNLFNBQVMsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBRyxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN4SCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM5QixDQUFDOztBQXRHSCxrQ0F1R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3NfaWFtIGFzIGlhbSxcbiAgU3RhY2ssXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvcmUgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0hBT2lkY1JvbGVQcm9wcyB7XG4gIC8qKiBHaXRIdWIgb3JnL3VzZXIgYW5kIHJlcG8gbmFtZSAoZS5nLiAncmFpbmRhbmNlcnMvQWdlbnRMJykgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeTogc3RyaW5nO1xuICAvKiogQnJhbmNoZXMgYWxsb3dlZCB0byBhc3N1bWUgdGhlIHJvbGUgQGRlZmF1bHQgWydtYWluJ10gKi9cbiAgcmVhZG9ubHkgYWxsb3dlZEJyYW5jaGVzPzogc3RyaW5nW107XG4gIC8qKiBBbGxvdyBQUnMgdG8gYXNzdW1lIHRoZSByb2xlIChmb3IgY2RrIGRpZmYpIEBkZWZhdWx0IHRydWUgKi9cbiAgcmVhZG9ubHkgYWxsb3dQdWxsUmVxdWVzdHM/OiBib29sZWFuO1xuICAvKiogQVdTIGFjY291bnQgSURzIHRoZSByb2xlIGNhbiBkZXBsb3kgdG8gKGZvciBjcm9zcy1hY2NvdW50IENESyBib290c3RyYXAgdHJ1c3QpICovXG4gIHJlYWRvbmx5IHRhcmdldEFjY291bnRJZHM/OiBzdHJpbmdbXTtcbiAgLyoqIEFkZGl0aW9uYWwgbWFuYWdlZCBwb2xpY3kgQVJOcyB0byBhdHRhY2ggKi9cbiAgcmVhZG9ubHkgbWFuYWdlZFBvbGljaWVzPzogc3RyaW5nW107XG4gIC8qKiBFbmFibGUgQmVkcm9jayBJbnZva2VNb2RlbCBwZXJtaXNzaW9uIEBkZWZhdWx0IHRydWUgKi9cbiAgcmVhZG9ubHkgZW5hYmxlQmVkcm9jaz86IGJvb2xlYW47XG4gIC8qKiBCZWRyb2NrIHJlZ2lvbiBAZGVmYXVsdCB1cy1lYXN0LTEgKi9cbiAgcmVhZG9ubHkgYmVkcm9ja1JlZ2lvbj86IHN0cmluZztcbiAgLyoqIENyZWF0ZSB0aGUgR2l0SHViIE9JREMgcHJvdmlkZXIgaWYgaXQgZG9lc24ndCBleGlzdCBpbiB0aGUgYWNjb3VudCBAZGVmYXVsdCB0cnVlICovXG4gIHJlYWRvbmx5IGNyZWF0ZVByb3ZpZGVyPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgR2l0SHViIEFjdGlvbnMgT0lEQyBwcm92aWRlciAoaWYgbm90IGFscmVhZHkgcHJlc2VudCkgYW5kIGFuIElBTSByb2xlXG4gKiB0aGF0IEdpdEh1YiBBY3Rpb25zIGNhbiBhc3N1bWUgZm9yIENESyBkZXBsb3ltZW50cyBhbmQgQmVkcm9jayBhbmFseXNpcy5cbiAqXG4gKiBEZXBsb3kgdGhpcyBpbiB5b3VyIGRlcGxveS9tYW5hZ2VtZW50IGFjY291bnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBHSEFPaWRjUm9sZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG4gIHB1YmxpYyByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEdIQU9pZGNSb2xlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgYWNjb3VudCA9IFN0YWNrLm9mKHRoaXMpLmFjY291bnQ7XG5cbiAgICAvLyBPSURDIHByb3ZpZGVyIOKAlCBjcmVhdGUgaWYgcmVxdWVzdGVkLCBvdGhlcndpc2UgaW1wb3J0IGV4aXN0aW5nXG4gICAgbGV0IHByb3ZpZGVyOiBpYW0uSU9wZW5JZENvbm5lY3RQcm92aWRlcjtcbiAgICBpZiAocHJvcHMuY3JlYXRlUHJvdmlkZXIgIT09IGZhbHNlKSB7XG4gICAgICBwcm92aWRlciA9IG5ldyBpYW0uT3BlbklkQ29ubmVjdFByb3ZpZGVyKHRoaXMsICdHaXRIdWJPaWRjJywge1xuICAgICAgICB1cmw6ICdodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tJyxcbiAgICAgICAgY2xpZW50SWRzOiBbJ3N0cy5hbWF6b25hd3MuY29tJ10sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJvdmlkZXJBcm4gPSBgYXJuOmF3czppYW06OiR7YWNjb3VudH06b2lkYy1wcm92aWRlci90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbWA7XG4gICAgICBwcm92aWRlciA9IGlhbS5PcGVuSWRDb25uZWN0UHJvdmlkZXIuZnJvbU9wZW5JZENvbm5lY3RQcm92aWRlckFybih0aGlzLCAnR2l0SHViT2lkYycsIHByb3ZpZGVyQXJuKTtcbiAgICB9XG5cbiAgICAvLyBCdWlsZCBzdWJqZWN0IGNvbmRpdGlvbnNcbiAgICBjb25zdCBzdWJqZWN0czogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBicmFuY2hlcyA9IHByb3BzLmFsbG93ZWRCcmFuY2hlcyB8fCBbJ21haW4nXTtcbiAgICBmb3IgKGNvbnN0IGJyYW5jaCBvZiBicmFuY2hlcykge1xuICAgICAgc3ViamVjdHMucHVzaChgcmVwbzoke3Byb3BzLnJlcG9zaXRvcnl9OnJlZjpyZWZzL2hlYWRzLyR7YnJhbmNofWApO1xuICAgIH1cbiAgICBpZiAocHJvcHMuYWxsb3dQdWxsUmVxdWVzdHMgIT09IGZhbHNlKSB7XG4gICAgICBzdWJqZWN0cy5wdXNoKGByZXBvOiR7cHJvcHMucmVwb3NpdG9yeX06cHVsbF9yZXF1ZXN0YCk7XG4gICAgfVxuICAgIC8vIEdpdEh1YiBjaGFuZ2VzIHRoZSBzdWIgY2xhaW0gd2hlbiBhIGpvYiB1c2VzIGVudmlyb25tZW50OiBkZXBsb3ltZW50c1xuICAgIHN1YmplY3RzLnB1c2goYHJlcG86JHtwcm9wcy5yZXBvc2l0b3J5fTplbnZpcm9ubWVudDoqYCk7XG5cbiAgICAvLyBJQU0gcm9sZSB3aXRoIE9JREMgdHJ1c3RcbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdSb2xlJywge1xuICAgICAgcm9sZU5hbWU6IGBnaGEtZGVwbG95LSR7cHJvcHMucmVwb3NpdG9yeS5yZXBsYWNlKCcvJywgJy0nKX1gLFxuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLldlYklkZW50aXR5UHJpbmNpcGFsKHByb3ZpZGVyLm9wZW5JZENvbm5lY3RQcm92aWRlckFybiwge1xuICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAndG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb206YXVkJzogJ3N0cy5hbWF6b25hd3MuY29tJyxcbiAgICAgICAgfSxcbiAgICAgICAgU3RyaW5nTGlrZToge1xuICAgICAgICAgICd0b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTpzdWInOiBzdWJqZWN0cy5sZW5ndGggPT09IDEgPyBzdWJqZWN0c1swXSA6IHN1YmplY3RzLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBtYXhTZXNzaW9uRHVyYXRpb246IGNvcmUuRHVyYXRpb24uaG91cnMoMSksXG4gICAgfSk7XG5cbiAgICAvLyBDREsgZGVwbG95IHBlcm1pc3Npb25zXG4gICAgcm9sZS5hZGRUb1BvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBzaWQ6ICdDREtEZXBsb3knLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnY2xvdWRmb3JtYXRpb246KicsXG4gICAgICAgICdzc206R2V0UGFyYW1ldGVyJyxcbiAgICAgICAgJ3MzOionLFxuICAgICAgICAnaWFtOlBhc3NSb2xlJyxcbiAgICAgICAgJ3N0czpBc3N1bWVSb2xlJyxcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgIH0pKTtcblxuICAgIC8vIENESyBib290c3RyYXAgbG9va3VwXG4gICAgcm9sZS5hZGRUb1BvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBzaWQ6ICdDREtCb290c3RyYXBMb29rdXAnLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnZWNyOkdldEF1dGhvcml6YXRpb25Ub2tlbicsXG4gICAgICAgICdlY3I6QmF0Y2hDaGVja0xheWVyQXZhaWxhYmlsaXR5JyxcbiAgICAgICAgJ2VjcjpHZXREb3dubG9hZFVybEZvckxheWVyJyxcbiAgICAgICAgJ2VjcjpCYXRjaEdldEltYWdlJyxcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgIH0pKTtcblxuICAgIC8vIENyb3NzLWFjY291bnQgYXNzdW1lIChmb3IgQ0RLIGJvb3RzdHJhcCByb2xlcyBpbiB0YXJnZXQgYWNjb3VudHMpXG4gICAgaWYgKHByb3BzLnRhcmdldEFjY291bnRJZHMgJiYgcHJvcHMudGFyZ2V0QWNjb3VudElkcy5sZW5ndGggPiAwKSB7XG4gICAgICByb2xlLmFkZFRvUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgc2lkOiAnQ3Jvc3NBY2NvdW50QXNzdW1lJyxcbiAgICAgICAgYWN0aW9uczogWydzdHM6QXNzdW1lUm9sZSddLFxuICAgICAgICByZXNvdXJjZXM6IHByb3BzLnRhcmdldEFjY291bnRJZHMubWFwKGFjY3QgPT5cbiAgICAgICAgICBgYXJuOmF3czppYW06OiR7YWNjdH06cm9sZS9jZGstKmAsXG4gICAgICAgICksXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgLy8gQmVkcm9jayBwZXJtaXNzaW9uc1xuICAgIGlmIChwcm9wcy5lbmFibGVCZWRyb2NrICE9PSBmYWxzZSkge1xuICAgICAgY29uc3QgYmVkcm9ja1JlZ2lvbiA9IHByb3BzLmJlZHJvY2tSZWdpb24gfHwgJ3VzLWVhc3QtMSc7XG4gICAgICByb2xlLmFkZFRvUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgc2lkOiAnQmVkcm9ja0FuYWx5c2lzJyxcbiAgICAgICAgYWN0aW9uczogWydiZWRyb2NrOkludm9rZU1vZGVsJ10sXG4gICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOmJlZHJvY2s6JHtiZWRyb2NrUmVnaW9ufTo6Zm91bmRhdGlvbi1tb2RlbC8qYF0sXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgLy8gQWRkaXRpb25hbCBtYW5hZ2VkIHBvbGljaWVzXG4gICAgaWYgKHByb3BzLm1hbmFnZWRQb2xpY2llcykge1xuICAgICAgZm9yIChjb25zdCBwb2xpY3lBcm4gb2YgcHJvcHMubWFuYWdlZFBvbGljaWVzKSB7XG4gICAgICAgIHJvbGUuYWRkTWFuYWdlZFBvbGljeShpYW0uTWFuYWdlZFBvbGljeS5mcm9tTWFuYWdlZFBvbGljeUFybih0aGlzLCBgUG9saWN5JHtwb2xpY3lBcm4uc3BsaXQoJy8nKS5wb3AoKX1gLCBwb2xpY3lBcm4pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSByb2xlO1xuICAgIHRoaXMucm9sZUFybiA9IHJvbGUucm9sZUFybjtcbiAgfVxufVxuIl19
|
package/lib/gha-pipeline.js
CHANGED
|
@@ -144,5 +144,5 @@ class GHAPipeline {
|
|
|
144
144
|
}
|
|
145
145
|
exports.GHAPipeline = GHAPipeline;
|
|
146
146
|
_a = JSII_RTTI_SYMBOL_1;
|
|
147
|
-
GHAPipeline[_a] = { fqn: "@raindancers/agentl.GHAPipeline", version: "0.0.
|
|
147
|
+
GHAPipeline[_a] = { fqn: "@raindancers/agentl.GHAPipeline", version: "0.0.3" };
|
|
148
148
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hhLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2doYS1waXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsMkNBQXdEO0FBQ3hELGlEQUFzRTtBQVF0RTs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxXQUFXO0lBR3RCLFlBQVksTUFBeUI7UUFGckIsV0FBTSxHQUFlLEVBQUUsQ0FBQztJQUVBLENBQUM7SUFFekM7OztPQUdHO0lBQ0ksUUFBUSxDQUFDLEVBQVUsRUFBRSxPQUF5QjtRQUNuRCxNQUFNLEtBQUssR0FBRyxJQUFJLG9CQUFRLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLFFBQWlCLElBQUksRUFBRSxrQkFBeUMsRUFBRSxjQUFrQztRQUMvRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQztRQUVELElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QyxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzVELE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLFFBQVEsSUFBSSw4QkFBOEIsQ0FBQztZQUMvRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRCxFQUFFLENBQUMsYUFBYSxDQUFDLFFB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QyxDQUFDLENBQUM7b0JBQzlDLE9BQU8sSUFBSSxVQUFVLEdBQUcsVUFBVSxHQUFHLE9BQU8sR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUMvRCxDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sSUFBSSxXQUFXLENBQUM7UUFDekIsQ0FBQztRQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVDLE9BQU8sSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDN0QsQ0FBQztRQUVELE9BQU8sSUFBSSxPQUFPLENBQUM7UUFDbkIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7QUFoSkgsa0NBaUpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEdIQVN0YWdlLCBHSEFTdGFnZU9wdGlvbnMgfSBmcm9tICcuL2doYS1zdGFnZSc7XG5pbXBvcnQgeyBnZW5lcmF0ZVdvcmtmbG93cywgR0hBV29ya2Zsb3dDb25maWcgfSBmcm9tICcuL2doYS13b3JrZmxvdyc7XG5pbXBvcnQgeyBNZXJtYWlkRGlhZ3JhbU91dHB1dCB9IGZyb20gJy4vc2hhcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBHSEFQaXBlbGluZVByb3BzIHtcbiAgLyoqIFNlcGFyYXRvciB1c2VkIGluIGlkZW50aWZpZXJzIEBkZWZhdWx0IF8gKi9cbiAgcmVhZG9ubHkgc2VwYXJhdG9yPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgR2l0SHViIEFjdGlvbnMgQ0RLIHBpcGVsaW5lLlxuICpcbiAqIE1vZGVsOlxuICogLSBTdGFnZXMgKGVudmlyb25tZW50cykgZGVwbG95IHNlcXVlbnRpYWxseTogZGV2IOKGkiBzdGFnaW5nIOKGkiBwcm9kXG4gKiAtIFdhdmVzIHdpdGhpbiBhIHN0YWdlIGRlcGxveSBzZXF1ZW50aWFsbHlcbiAqIC0gU3RhY2tzIHdpdGhpbiBhIHdhdmUgZGVwbG95IGluIHBhcmFsbGVsXG4gKi9cbmV4cG9ydCBjbGFzcyBHSEFQaXBlbGluZSB7XG4gIHB1YmxpYyByZWFkb25seSBzdGFnZXM6IEdIQVN0YWdlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihfcHJvcHM/OiBHSEFQaXBlbGluZVByb3BzKSB7fVxuXG4gIC8qKlxuICAgKiBBZGQgYSBzdGFnZSAoZW52aXJvbm1lbnQpIHRvIHRoZSBwaXBlbGluZS4gU3RhZ2VzIGRlcGxveSBzZXF1ZW50aWFsbHkuXG4gICAqIEBwYXJhbSBpZCBTdGFnZSBpZGVudGlmaWVyIChlLmcuICdkZXYnLCAnc3RhZ2luZycsICdwcm9kJylcbiAgICovXG4gIHB1YmxpYyBhZGRTdGFnZShpZDogc3RyaW5nLCBvcHRpb25zPzogR0hBU3RhZ2VPcHRpb25zKTogR0hBU3RhZ2Uge1xuICAgIGNvbnN0IHN0YWdlID0gbmV3IEdIQVN0YWdlKGlkLCBvcHRpb25zKTtcbiAgICB0aGlzLnN0YWdlcy5wdXNoKHN0YWdlKTtcbiAgICByZXR1cm4gc3RhZ2U7XG4gIH1cblxuICAvKipcbiAgICogU3ludGhlc2l6ZSB0aGUgcGlwZWxpbmUg4oCUIHdpcmVzIENESyBzdGFjayBkZXBlbmRlbmNpZXMgYW5kIG9wdGlvbmFsbHkgZ2VuZXJhdGVzIHdvcmtmbG93cy5cbiAgICogQHBhcmFtIHByaW50IFdoZXRoZXIgdG8gcHJpbnQgdGhlIGRlcGxveW1lbnQgb3JkZXIgdG8gY29uc29sZVxuICAgKiBAcGFyYW0gc2F2ZU1lcm1haWREaWFncmFtIElmIHByb3ZpZGVkLCBzYXZlcyBhIE1lcm1haWQgZGlhZ3JhbVxuICAgKiBAcGFyYW0gd29ya2Zsb3dDb25maWcgSWYgcHJvdmlkZWQsIGdlbmVyYXRlcyBHaXRIdWIgQWN0aW9ucyB3b3JrZmxvdyBmaWxlc1xuICAgKi9cbiAgcHVibGljIHN5bnRoKHByaW50OiBib29sZWFuID0gdHJ1ZSwgc2F2ZU1lcm1haWREaWFncmFtPzogTWVybWFpZERpYWdyYW1PdXRwdXQsIHdvcmtmbG93Q29uZmlnPzogR0hBV29ya2Zsb3dDb25maWcpIHtcbiAgICB0aGlzLndpcmVEZXBlbmRlbmNpZXMoKTtcblxuICAgIGlmIChwcmludCkge1xuICAgICAgdGhpcy5wcmludERlcGxveW1lbnRPcmRlcigpO1xuICAgIH1cblxuICAgIGlmIChzYXZlTWVybWFpZERpYWdyYW0pIHtcbiAgICAgIGNvbnN0IGRpYWdyYW0gPSB0aGlzLmdlbmVyYXRlTWVybWFpZERpYWdyYW0oKTtcbiAgICAgIGNvbnN0IG91dHB1dFBhdGggPSBzYXZlTWVybWFpZERpYWdyYW0ucGF0aCB8fCBwcm9jZXNzLmN3ZCgpO1xuICAgICAgY29uc3QgZmlsZU5hbWUgPSBzYXZlTWVybWFpZERpYWdyYW0uZmlsZU5hbWUgfHwgJ3BpcGVsaW5lLWRlcGxveW1lbnQtb3JkZXIubWQnO1xuICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4ob3V0cHV0UGF0aCwgZmlsZU5hbWUpO1xuICAgICAgZnMud3JpdGVGaWxlU3luYyhmdWxsUGF0aCwgZGlhZ3JhbSk7XG4gICAgfVxuXG4gICAgaWYgKHdvcmtmbG93Q29uZmlnKSB7XG4gICAgICBnZW5lcmF0ZVdvcmtmbG93cyh0aGlzLnN0YWdlcywgd29ya2Zsb3dDb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaXJlIENESyBzdGFjayBkZXBlbmRlbmNpZXMgYmFzZWQgb24gc3RhZ2Uvd2F2ZSBzdHJ1Y3R1cmUuXG4gICAqL1xuICBwcml2YXRlIHdpcmVEZXBlbmRlbmNpZXMoKSB7XG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiB0aGlzLnN0YWdlcykge1xuICAgICAgZm9yIChsZXQgdyA9IDA7IHcgPCBzdGFnZS53YXZlcy5sZW5ndGg7IHcrKykge1xuICAgICAgICBjb25zdCB3YXZlID0gc3RhZ2Uud2F2ZXNbd107XG5cbiAgICAgICAgLy8gSW50cmEtd2F2ZTogZXhwbGljaXQgZGVwZW5kc09uXG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2Ygd2F2ZS5zdGFja3MpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGRlcCBvZiBlbnRyeS5kZXBlbmRzT24pIHtcbiAgICAgICAgICAgIGVudHJ5LnN0YWNrLmFkZERlcGVuZGVuY3koZGVwLCBzdGFnZS5pZCArICcvJyArIHdhdmUuaWQgKyAnIGludHJhLXdhdmUgZGVwZW5kZW5jeScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludGVyLXdhdmU6IGFsbCBzdGFja3MgaW4gd2F2ZSBOIGRlcGVuZCBvbiBhbGwgc3RhY2tzIGluIHdhdmUgTi0xXG4gICAgICAgIGlmICh3ID4gMCkge1xuICAgICAgICAgIGNvbnN0IHByZXZXYXZlID0gc3RhZ2Uud2F2ZXNbdyAtIDFdO1xuICAgICAgICAgIGZvciAoY29uc3QgZW50cnkgb2Ygd2F2ZS5zdGFja3MpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcHJldkVudHJ5IG9mIHByZXZXYXZlLnN0YWNrcykge1xuICAgICAgICAgICAgICBlbnRyeS5zdGFjay5hZGREZXBlbmRlbmN5KHByZXZFbnRyeS5zdGFjaywgc3RhZ2UuaWQgKyAnIHdhdmUgb3JkZXJpbmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlci1zdGFnZTogYWxsIHN0YWNrcyBpbiBzdGFnZSBOIGRlcGVuZCBvbiBhbGwgc3RhY2tzIGluIHN0YWdlIE4tMVxuICAgIGZvciAobGV0IHMgPSAxOyBzIDwgdGhpcy5zdGFnZXMubGVuZ3RoOyBzKyspIHtcbiAgICAgIGNvbnN0IHByZXZTdGFnZVN0YWNrcyA9IHRoaXMuc3RhZ2VzW3MgLSAxXS5hbGxTdGFja3MoKTtcbiAgICAgIGNvbnN0IGN1cnJGaXJzdFdhdmUgPSB0aGlzLnN0YWdlc1tzXS53YXZlc1swXTtcbiAgICAgIGlmIChjdXJyRmlyc3RXYXZlKSB7XG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgY3VyckZpcnN0V2F2ZS5zdGFja3MpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHByZXZTdGFjayBvZiBwcmV2U3RhZ2VTdGFja3MpIHtcbiAgICAgICAgICAgIGVudHJ5LnN0YWNrLmFkZERlcGVuZGVuY3kocHJldlN0YWNrLCAnc3RhZ2Ugb3JkZXJpbmcnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogR2V0IGFsbCBzdGFjayBuYW1lcyBhY3Jvc3MgYWxsIHN0YWdlcyBpbiBkZXBsb3ltZW50IG9yZGVyLiAqL1xuICBwdWJsaWMgc3RhY2tOYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhZ2VzLmZsYXRNYXAocyA9PiBzLmFsbFN0YWNrcygpLm1hcChzdCA9PiBzdC5zdGFja05hbWUpKTtcbiAgfVxuXG4gIC8qKiBQcmludCB0aGUgZGVwbG95bWVudCBvcmRlciB0byBjb25zb2xlLiAqL1xuICBwdWJsaWMgcHJpbnREZXBsb3ltZW50T3JkZXIoKSB7XG4gICAgY29uc29sZS5sb2coJycpO1xuICAgIGNvbnNvbGUubG9nKCdPUkRFUiBPRiBERVBMT1lNRU5UJyk7XG4gICAgY29uc29sZS5sb2coJ/CfmoAgU3RhZ2VzICAgICAgIC0gRGVwbG95ZWQgc2VxdWVudGlhbGx5IChlbnZpcm9ubWVudHMpJyk7XG4gICAgY29uc29sZS5sb2coJ/CfjIogV2F2ZXMgICAgICAgIC0gRGVwbG95ZWQgc2VxdWVudGlhbGx5IHdpdGhpbiBhIHN0YWdlJyk7XG4gICAgY29uc29sZS5sb2coJ/Cfk6YgU3RhY2tzICAgICAgIC0gRGVwbG95ZWQgaW4gcGFyYWxsZWwgd2l0aGluIGEgd2F2ZScpO1xuICAgIGNvbnNvbGUubG9nKCcnKTtcblxuICAgIGZvciAoY29uc3Qgc3RhZ2Ugb2YgdGhpcy5zdGFnZXMpIHtcbiAgICAgIGNvbnNvbGUubG9nKCd8IPCfmoAgJyArIHN0YWdlLmlkKTtcbiAgICAgIGZvciAoY29uc3Qgd2F2ZSBvZiBzdGFnZS53YXZlcykge1xuICAgICAgICBjb25zb2xlLmxvZygnfCAgIPCfjIogJyArIHdhdmUuaWQpO1xuICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIHdhdmUuc3RhY2tzKSB7XG4gICAgICAgICAgY29uc3QgZGVwcyA9IGVudHJ5LmRlcGVuZHNPbi5tYXAoZCA9PiBkLnN0YWNrTmFtZSk7XG4gICAgICAgICAgY29uc3QgZGVwU3RyID0gZGVwcy5sZW5ndGggPiAwID8gJyDihrMgJyArIGRlcHMuam9pbignLCAnKSA6ICcnO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCd8ICAgICDwn5OmICcgKyBlbnRyeS5zdGFjay5zdGFja05hbWUgKyBkZXBTdHIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCcnKTtcbiAgfVxuXG4gIC8qKiBHZW5lcmF0ZSBhIE1lcm1haWQgZGlhZ3JhbSBvZiB0aGUgcGlwZWxpbmUuICovXG4gIHB1YmxpYyBnZW5lcmF0ZU1lcm1haWREaWFncmFtKCk6IHN0cmluZyB7XG4gICAgbGV0IGRpYWdyYW0gPSAnYGBgbWVybWFpZFxcbmdyYXBoIFREXFxuJztcblxuICAgIGZvciAobGV0IHMgPSAwOyBzIDwgdGhpcy5zdGFnZXMubGVuZ3RoOyBzKyspIHtcbiAgICAgIGNvbnN0IHN0YWdlID0gdGhpcy5zdGFnZXNbc107XG4gICAgICBjb25zdCBzdGFnZUlkID0gJ1N0YWdlJyArIHM7XG4gICAgICBkaWFncmFtICs9ICcgICAgc3ViZ3JhcGggJyArIHN0YWdlSWQgKyAnW1wi8J+agCAnICsgc3RhZ2UuaWQgKyAnXCJdXFxuJztcblxuICAgICAgZm9yIChsZXQgdyA9IDA7IHcgPCBzdGFnZS53YXZlcy5sZW5ndGg7IHcrKykge1xuICAgICAgICBjb25zdCB3YXZlID0gc3RhZ2Uud2F2ZXNbd107XG4gICAgICAgIGNvbnN0IHdhdmVJZCA9IHN0YWdlSWQgKyAnV2F2ZScgKyB3O1xuICAgICAgICBkaWFncmFtICs9ICcgICAgICAgIHN1YmdyYXBoICcgKyB3YXZlSWQgKyAnW1wi8J+MiiAnICsgd2F2ZS5pZCArICdcIl1cXG4nO1xuXG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2Ygd2F2ZS5zdGFja3MpIHtcbiAgICAgICAgICBjb25zdCBzdGFja05vZGVJZCA9ICdTdGFjaycgKyBlbnRyeS5zdGFjay5zdGFja05hbWUucmVwbGFjZSgvW15hLXpBLVowLTldL2csICdfJyk7XG4gICAgICAgICAgZGlhZ3JhbSArPSAnICAgICAgICAgICAgJyArIHN0YWNrTm9kZUlkICsgJ1tcIvCfk6YgJyArIGVudHJ5LnN0YWNrLnN0YWNrTmFtZSArICdcIl1cXG4nO1xuICAgICAgICB9XG4gICAgICAgIGRpYWdyYW0gKz0gJyAgICAgICAgZW5kXFxuJztcblxuICAgICAgICBpZiAodyA+IDApIHtcbiAgICAgICAgICBjb25zdCBwcmV2V2F2ZUlkID0gc3RhZ2VJZCArICdXYXZlJyArICh3IC0gMSk7XG4gICAgICAgICAgZGlhZ3JhbSArPSAnICAgICAgICAnICsgcHJldldhdmVJZCArICcgLS0+ICcgKyB3YXZlSWQgKyAnXFxuJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGlhZ3JhbSArPSAnICAgIGVuZFxcbic7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgcyA9IDE7IHMgPCB0aGlzLnN0YWdlcy5sZW5ndGg7IHMrKykge1xuICAgICAgZGlhZ3JhbSArPSAnICAgIFN0YWdlJyArIChzIC0gMSkgKyAnIC0tPiBTdGFnZScgKyBzICsgJ1xcbic7XG4gICAgfVxuXG4gICAgZGlhZ3JhbSArPSAnYGBgXFxuJztcbiAgICByZXR1cm4gZGlhZ3JhbTtcbiAgfVxufVxuIl19
|
package/lib/gha-stage.js
CHANGED
|
@@ -47,5 +47,5 @@ class GHAStage {
|
|
|
47
47
|
}
|
|
48
48
|
exports.GHAStage = GHAStage;
|
|
49
49
|
_a = JSII_RTTI_SYMBOL_1;
|
|
50
|
-
GHAStage[_a] = { fqn: "@raindancers/agentl.GHAStage", version: "0.0.
|
|
50
|
+
GHAStage[_a] = { fqn: "@raindancers/agentl.GHAStage", version: "0.0.3" };
|
|
51
51
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hhLXN0YWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2doYS1zdGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHlDQUFzRDtBQVd0RDs7OztHQUlHO0FBQ0gsTUFBYSxRQUFRO0lBTW5CLFlBQVksRUFBVSxFQUFFLE9BQXlCO1FBSmpDLFVBQUssR0FBYyxFQUFFLENBQUM7UUFLcEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksT0FBTyxDQUFDLEVBQVU7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxrQkFBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFFBQVEsQ0FBQyxLQUFZLEVBQUUsT0FBeUI7UUFDckQsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixXQUFXLEdBQUcsSUFBSSxrQkFBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxtREFBbUQ7SUFDNUMsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7O0FBekNILDRCQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQWRkU3RhY2tPcHRpb25zLCBHSEFXYXZlIH0gZnJvbSAnLi9naGEtd2F2ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0hBU3RhZ2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIEdpdEh1YiBBY3Rpb25zIGVudmlyb25tZW50IG5hbWUuIEVuYWJsZXMgcHJvdGVjdGlvbiBydWxlcyAobWFudWFsIGFwcHJvdmFsLFxuICAgKiB3YWl0IHRpbWVycywgYnJhbmNoIHJlc3RyaWN0aW9ucykuIFNldCB0byB1bmRlZmluZWQgdG8gZGlzYWJsZS5cbiAgICogQGRlZmF1bHQgc2FtZSBhcyBzdGFnZSBpZFxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBzdGFnZSByZXByZXNlbnRzIGEgZGVwbG95bWVudCBlbnZpcm9ubWVudCAoZS5nLiBkZXYsIHN0YWdpbmcsIHByb2QpLlxuICogU3RhZ2VzIGRlcGxveSBzZXF1ZW50aWFsbHkgaW4gdGhlIG9yZGVyIHRoZXkgYXJlIGFkZGVkIHRvIHRoZSBwaXBlbGluZS5cbiAqIEVhY2ggc3RhZ2UgY29udGFpbnMgd2F2ZXMsIHdoaWNoIGRlcGxveSBzZXF1ZW50aWFsbHkgd2l0aGluIHRoZSBzdGFnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEdIQVN0YWdlIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB3YXZlczogR0hBV2F2ZVtdID0gW107XG4gIC8qKiBHaXRIdWIgQWN0aW9ucyBlbnZpcm9ubWVudCBuYW1lIChlbmFibGVzIHByb3RlY3Rpb24gcnVsZXMsIGFwcHJvdmFscywgZXRjLikgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVudmlyb25tZW50Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGlkOiBzdHJpbmcsIG9wdGlvbnM/OiBHSEFTdGFnZU9wdGlvbnMpIHtcbiAgICB0aGlzLmlkID0gaWQ7XG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IG9wdGlvbnM/LmVudmlyb25tZW50ID8/IGlkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHdhdmUgdG8gdGhpcyBzdGFnZS4gV2F2ZXMgZGVwbG95IHNlcXVlbnRpYWxseS5cbiAgICogU3RhY2tzIHdpdGhpbiBhIHdhdmUgZGVwbG95IGluIHBhcmFsbGVsLlxuICAgKiBAcGFyYW0gaWQgV2F2ZSBpZGVudGlmaWVyIChlLmcuICdGb3VuZGF0aW9uJywgJ1BsYXRmb3JtJywgJ1NlcnZpY2VzJylcbiAgICovXG4gIHB1YmxpYyBhZGRXYXZlKGlkOiBzdHJpbmcpOiBHSEFXYXZlIHtcbiAgICBjb25zdCB3YXZlID0gbmV3IEdIQVdhdmUoaWQpO1xuICAgIHRoaXMud2F2ZXMucHVzaCh3YXZlKTtcbiAgICByZXR1cm4gd2F2ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBzdGFjayBkaXJlY3RseSB0byB0aGUgc3RhZ2UgKGdvZXMgaW50byBhIGRlZmF1bHQgd2F2ZSkuXG4gICAqIEVxdWl2YWxlbnQgdG8gYWRkaW5nIHRvIGEgc2luZ2xlIHdhdmUg4oCUIGFsbCBzdGFja3MgZGVwbG95IGluIHBhcmFsbGVsXG4gICAqIHJlc3BlY3RpbmcgQ0RLIGRlcGVuZGVuY3kgb3JkZXJpbmcuXG4gICAqIEBwYXJhbSBzdGFjayBBIHN0YW5kYXJkIENESyBTdGFja1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCBkZXBlbmRlbmNpZXNcbiAgICovXG4gIHB1YmxpYyBhZGRTdGFjayhzdGFjazogU3RhY2ssIG9wdGlvbnM/OiBBZGRTdGFja09wdGlvbnMpOiBTdGFjayB7XG4gICAgbGV0IGRlZmF1bHRXYXZlID0gdGhpcy53YXZlcy5maW5kKHcgPT4gdy5pZCA9PT0gJ2RlZmF1bHQnKTtcbiAgICBpZiAoIWRlZmF1bHRXYXZlKSB7XG4gICAgICBkZWZhdWx0V2F2ZSA9IG5ldyBHSEFXYXZlKCdkZWZhdWx0Jyk7XG4gICAgICB0aGlzLndhdmVzLnB1c2goZGVmYXVsdFdhdmUpO1xuICAgIH1cbiAgICByZXR1cm4gZGVmYXVsdFdhdmUuYWRkU3RhY2soc3RhY2ssIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqIEdldCBhbGwgc3RhY2tzIGluIHRoaXMgc3RhZ2UsIGluIHdhdmUgb3JkZXIuICovXG4gIHB1YmxpYyBhbGxTdGFja3MoKTogU3RhY2tbXSB7XG4gICAgcmV0dXJuIHRoaXMud2F2ZXMuZmxhdE1hcCh3ID0+IHcuc3RhY2tzLm1hcChlID0+IGUuc3RhY2spKTtcbiAgfVxufVxuIl19
|
package/lib/gha-wave.js
CHANGED
|
@@ -27,5 +27,5 @@ class GHAWave {
|
|
|
27
27
|
}
|
|
28
28
|
exports.GHAWave = GHAWave;
|
|
29
29
|
_a = JSII_RTTI_SYMBOL_1;
|
|
30
|
-
GHAWave[_a] = { fqn: "@raindancers/agentl.GHAWave", version: "0.0.
|
|
30
|
+
GHAWave[_a] = { fqn: "@raindancers/agentl.GHAWave", version: "0.0.3" };
|
|
31
31
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hhLXdhdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ2hhLXdhdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFZQTs7O0dBR0c7QUFDSCxNQUFhLE9BQU87SUFJbEIsWUFBWSxFQUFVO1FBRk4sV0FBTSxHQUFpQixFQUFFLENBQUM7UUFHeEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxLQUFZLEVBQUUsT0FBeUI7UUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsS0FBSztZQUNaLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxJQUFJLEVBQUU7U0FDcEMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOztBQW5CSCwwQkFvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcblxuZXhwb3J0IGludGVyZmFjZSBBZGRTdGFja09wdGlvbnMge1xuICAvKiogU3RhY2tzIHdpdGhpbiB0aGlzIHdhdmUgdGhhdCB0aGlzIHN0YWNrIGRlcGVuZHMgb24gKi9cbiAgcmVhZG9ubHkgZGVwZW5kc09uPzogU3RhY2tbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFja0VudHJ5IHtcbiAgcmVhZG9ubHkgc3RhY2s6IFN0YWNrO1xuICByZWFkb25seSBkZXBlbmRzT246IFN0YWNrW107XG59XG5cbi8qKlxuICogQSB3YXZlIGlzIGEgZ3JvdXAgb2Ygc3RhY2tzIHRoYXQgZGVwbG95IGluIHBhcmFsbGVsLlxuICogV2F2ZXMgd2l0aGluIGEgc3RhZ2UgZGVwbG95IHNlcXVlbnRpYWxseSAod2F2ZSAxIGNvbXBsZXRlcyBiZWZvcmUgd2F2ZSAyIHN0YXJ0cykuXG4gKi9cbmV4cG9ydCBjbGFzcyBHSEFXYXZlIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBzdGFja3M6IFN0YWNrRW50cnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlkID0gaWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgc3RhY2sgdG8gdGhpcyB3YXZlLiBTdGFja3Mgd2l0aGluIGEgd2F2ZSBkZXBsb3kgaW4gcGFyYWxsZWwuXG4gICAqIEBwYXJhbSBzdGFjayBBIHN0YW5kYXJkIENESyBTdGFja1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCBkZXBlbmRlbmNpZXMgb24gb3RoZXIgc3RhY2tzIHdpdGhpbiB0aGlzIHdhdmVcbiAgICovXG4gIHB1YmxpYyBhZGRTdGFjayhzdGFjazogU3RhY2ssIG9wdGlvbnM/OiBBZGRTdGFja09wdGlvbnMpOiBTdGFjayB7XG4gICAgdGhpcy5zdGFja3MucHVzaCh7XG4gICAgICBzdGFjazogc3RhY2ssXG4gICAgICBkZXBlbmRzT246IG9wdGlvbnM/LmRlcGVuZHNPbiB8fCBbXSxcbiAgICB9KTtcbiAgICByZXR1cm4gc3RhY2s7XG4gIH1cbn1cbiJdfQ==
|
package/lib/gha-workflow.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { GHAStage } from './gha-stage';
|
|
2
|
+
import { RunnerSize } from './shared';
|
|
2
3
|
export interface GHAWorkflowConfig {
|
|
3
4
|
/** Directory to write workflow files @default .github/workflows */
|
|
4
5
|
readonly outputDir?: string;
|
|
@@ -26,6 +27,8 @@ export interface GHAWorkflowConfig {
|
|
|
26
27
|
readonly diffStageIndex?: number;
|
|
27
28
|
/** Path filters for triggering deploy and PR review workflows. If set, workflows only trigger on changes matching these paths (e.g. ['src/**', 'package.json']). */
|
|
28
29
|
readonly triggerDeployPaths?: string[];
|
|
30
|
+
/** GitHub Actions runner size @default RunnerSize.STANDARD (2 cores) */
|
|
31
|
+
readonly runnerSize?: RunnerSize;
|
|
29
32
|
}
|
|
30
33
|
/**
|
|
31
34
|
* Generate GitHub Actions workflows for the pipeline.
|
package/lib/gha-workflow.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.generateWorkflows = generateWorkflows;
|
|
4
4
|
const fs = require("fs");
|
|
5
5
|
const path = require("path");
|
|
6
|
+
const shared_1 = require("./shared");
|
|
6
7
|
const ACTIONS_VERSION = 'v6';
|
|
7
8
|
/**
|
|
8
9
|
* Generate GitHub Actions workflows for the pipeline.
|
|
@@ -31,6 +32,7 @@ function buildPRWorkflow(stages, config) {
|
|
|
31
32
|
const bedrockRoleArn = config.bedrockRoleArn || config.deployRoleArn;
|
|
32
33
|
const enableBedrock = config.enableBedrockAnalysis !== false;
|
|
33
34
|
const branch = config.deployBranch || 'main';
|
|
35
|
+
const runsOn = config.runnerSize || shared_1.RunnerSize.STANDARD;
|
|
34
36
|
const diffStageIdx = config.diffStageIndex ?? 1;
|
|
35
37
|
const diffStage = stages[diffStageIdx] || stages[0];
|
|
36
38
|
const diffStackNames = diffStage.allStacks().map(st => st.stackName);
|
|
@@ -57,7 +59,7 @@ function buildPRWorkflow(stages, config) {
|
|
|
57
59
|
'',
|
|
58
60
|
'jobs:',
|
|
59
61
|
' review:',
|
|
60
|
-
' runs-on:
|
|
62
|
+
' runs-on: ' + runsOn,
|
|
61
63
|
' steps:',
|
|
62
64
|
' - uses: actions/checkout@' + ACTIONS_VERSION,
|
|
63
65
|
'',
|
|
@@ -114,6 +116,7 @@ function buildDeployWorkflow(stages, config) {
|
|
|
114
116
|
const synthCmd = config.synthCommand || 'npx cdk synth';
|
|
115
117
|
const concurrency = config.deployConcurrency || 5;
|
|
116
118
|
const branch = config.deployBranch || 'main';
|
|
119
|
+
const runsOn = config.runnerSize || shared_1.RunnerSize.STANDARD;
|
|
117
120
|
const lines = [
|
|
118
121
|
'# ~~ Generated by @raindancers/agentl. To modify, edit your CDK app and run "npx cdk synth".',
|
|
119
122
|
'name: Deploy',
|
|
@@ -133,7 +136,7 @@ function buildDeployWorkflow(stages, config) {
|
|
|
133
136
|
'',
|
|
134
137
|
'jobs:',
|
|
135
138
|
' synth:',
|
|
136
|
-
' runs-on:
|
|
139
|
+
' runs-on: ' + runsOn,
|
|
137
140
|
' steps:',
|
|
138
141
|
' - uses: actions/checkout@' + ACTIONS_VERSION,
|
|
139
142
|
'',
|
|
@@ -166,7 +169,7 @@ function buildDeployWorkflow(stages, config) {
|
|
|
166
169
|
const stacks = wave.stacks.map(e => e.stack.stackName).join(' ');
|
|
167
170
|
deploySteps.push('', ' - name: "🌊 ' + wave.id + '"', ' run: npx cdk deploy ' + stacks + ' --require-approval never --concurrency ' + concurrency + ' --app cdk.out/');
|
|
168
171
|
}
|
|
169
|
-
lines.push('', ' ' + stageJobId + ':', ' name: "🚀 ' + stage.id + '"', ' runs-on:
|
|
172
|
+
lines.push('', ' ' + stageJobId + ':', ' name: "🚀 ' + stage.id + '"', ' runs-on: ' + runsOn, ' needs: ' + previousJobId);
|
|
170
173
|
if (stage.environment) {
|
|
171
174
|
lines.push(' environment: ' + stage.environment);
|
|
172
175
|
}
|
|
@@ -175,4 +178,4 @@ function buildDeployWorkflow(stages, config) {
|
|
|
175
178
|
}
|
|
176
179
|
return lines.join('\n') + '\n';
|
|
177
180
|
}
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hhLXdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2doYS13b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXNDQSw4Q0FNQztBQTVDRCx5QkFBeUI7QUFDekIsNkJBQTZCO0FBZ0M3QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUM7QUFFN0I7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxNQUFrQixFQUFFLE1BQXlCO0lBQzdFLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksbUJBQW1CLENBQUM7SUFDMUQsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUU3QyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6RixFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxNQUF5QjtJQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekUsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN2QyxD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cyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgR0hBU3RhZ2UgfSBmcm9tICcuL2doYS1zdGFnZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0hBV29ya2Zsb3dDb25maWcge1xuICAvKiogRGlyZWN0b3J5IHRvIHdyaXRlIHdvcmtmbG93IGZpbGVzIEBkZWZhdWx0IC5naXRodWIvd29ya2Zsb3dzICovXG4gIHJlYWRvbmx5IG91dHB1dERpcj86IHN0cmluZztcbiAgLyoqIEFXUyByZWdpb24gZm9yIENESyBvcGVyYXRpb25zICovXG4gIHJlYWRvbmx5IGF3c1JlZ2lvbjogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIHRvIGFzc3VtZSBmb3IgZGVwbG95bWVudHMgKE9JREMpICovXG4gIHJlYWRvbmx5IGRlcGxveVJvbGVBcm46IHN0cmluZztcbiAgLyoqIElBTSByb2xlIEFSTiBmb3IgQmVkcm9jayBhbmFseXNpcyBAZGVmYXVsdCBzYW1lIGFzIGRlcGxveVJvbGVBcm4gKi9cbiAgcmVhZG9ubHkgYmVkcm9ja1JvbGVBcm4/OiBzdHJpbmc7XG4gIC8qKiBCZWRyb2NrIHJlZ2lvbiBAZGVmYXVsdCB1cy1lYXN0LTEgKi9cbiAgcmVhZG9ubHkgYmVkcm9ja1JlZ2lvbj86IHN0cmluZztcbiAgLyoqIE5vZGUuanMgdmVyc2lvbiBAZGVmYXVsdCAyMiAqL1xuICByZWFkb25seSBub2RlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqIEluc3RhbGwgY29tbWFuZCBAZGVmYXVsdCB5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUgKi9cbiAgcmVhZG9ubHkgaW5zdGFsbENvbW1hbmQ/OiBzdHJpbmc7XG4gIC8qKiBTeW50aCBjb21tYW5kIEBkZWZhdWx0IG5weCBjZGsgc3ludGggKi9cbiAgcmVhZG9ubHkgc3ludGhDb21tYW5kPzogc3RyaW5nO1xuICAvKiogQnJhbmNoIHRoYXQgdHJpZ2dlcnMgZGVwbG95IEBkZWZhdWx0IG1haW4gKi9cbiAgcmVhZG9ubHkgZGVwbG95QnJhbmNoPzogc3RyaW5nO1xuICAvKiogRW5hYmxlIEJlZHJvY2sgYW5hbHlzaXMgb24gUFJzIEBkZWZhdWx0IHRydWUgKi9cbiAgcmVhZG9ubHkgZW5hYmxlQmVkcm9ja0FuYWx5c2lzPzogYm9vbGVhbjtcbiAgLyoqIENvbmN1cnJlbmN5IGZvciBjZGsgZGVwbG95IEBkZWZhdWx0IDUgKi9cbiAgcmVhZG9ubHkgZGVwbG95Q29uY3VycmVuY3k/OiBudW1iZXI7XG4gIC8qKiBXaGljaCBzdGFnZSB0byBkaWZmIG9uIFBScyBAZGVmYXVsdCBmaXJzdCBzdGFnZSAoaW5kZXggMCkgKi9cbiAgcmVhZG9ubHkgZGlmZlN0YWdlSW5kZXg/OiBudW1iZXI7XG4gIC8qKiBQYXRoIGZpbHRlcnMgZm9yIHRyaWdnZXJpbmcgZGVwbG95IGFuZCBQUiByZXZpZXcgd29ya2Zsb3dzLiBJZiBzZXQsIHdvcmtmbG93cyBvbmx5IHRyaWdnZXIgb24gY2hhbmdlcyBtYXRjaGluZyB0aGVzZSBwYXRocyAoZS5nLiBbJ3NyYy8qKicsICdwYWNrYWdlLmpzb24nXSkuICovXG4gIHJlYWRvbmx5IHRyaWdnZXJEZXBsb3lQYXRocz86IHN0cmluZ1tdO1xufVxuXG5jb25zdCBBQ1RJT05TX1ZFUlNJT04gPSAndjYnO1xuXG4vKipcbiAqIEdlbmVyYXRlIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93cyBmb3IgdGhlIHBpcGVsaW5lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVXb3JrZmxvd3Moc3RhZ2VzOiBHSEFTdGFnZVtdLCBjb25maWc6IEdIQVdvcmtmbG93Q29uZmlnKTogdm9pZCB7XG4gIGNvbnN0IG91dHB1dERpciA9IGNvbmZpZy5vdXRwdXREaXIgfHwgJy5naXRodWIvd29ya2Zsb3dzJztcbiAgZnMubWtkaXJTeW5jKG91dHB1dERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4ob3V0cHV0RGlyLCAncHItcmV2aWV3LnltbCcpLCBidWlsZFBSV29ya2Zsb3coc3RhZ2VzLCBjb25maWcpKTtcbiAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4ob3V0cHV0RGlyLCAnZGVwbG95LnltbCcpLCBidWlsZERlcGxveVdvcmtmbG93KHN0YWdlcywgY29uZmlnKSk7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkUGF0aHNCbG9jayhjb25maWc6IEdIQVdvcmtmbG93Q29uZmlnKTogc3RyaW5nW10ge1xuICBpZiAoIWNvbmZpZy50cmlnZ2VyRGVwbG95UGF0aHMgfHwgY29uZmlnLnRyaWdnZXJEZXBsb3lQYXRocy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgY29uc3QgcmVzdWx0OiBzdHJpbmdbXSA9IFsnICAgIHBhdGhzOiddO1xuICBmb3IgKGNvbnN0IHAgb2YgY29uZmlnLnRyaWdnZXJEZXBsb3lQYXRocykge1xuICAgIHJlc3VsdC5wdXNoKCcgICAgICAtIFxcJycgKyBwICsgJ1xcJycpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkUFJXb3JrZmxvdyhzdGFnZXM6IEdIQVN0YWdlW10sIGNvbmZpZzogR0hBV29ya2Zsb3dDb25maWcpOiBzdHJpbmcge1xuICBjb25zdCBub2RlVmVyc2lvbiA9IGNvbmZpZy5ub2RlVmVyc2lvbiB8fCAnMjInO1xuICBjb25zdCBpbnN0YWxsQ21kID0gY29uZmlnLmluc3RhbGxDb21tYW5kIHx8ICd5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUnO1xuICBjb25zdCBzeW50aENtZCA9IGNvbmZpZy5zeW50aENvbW1hbmQgfHwgJ25weCBjZGsgc3ludGgnO1xuICBjb25zdCBiZWRyb2NrUmVnaW9uID0gY29uZmlnLmJlZHJvY2tSZWdpb24gfHwgJ3VzLWVhc3QtMSc7XG4gIGNvbnN0IGJlZHJvY2tSb2xlQXJuID0gY29uZmlnLmJlZHJvY2tSb2xlQXJuIHx8IGNvbmZpZy5kZXBsb3lSb2xlQXJuO1xuICBjb25zdCBlbmFibGVCZWRyb2NrID0gY29uZmlnLmVuYWJsZUJlZHJvY2tBbmFseXNpcyAhPT0gZmFsc2U7XG4gIGNvbnN0IGJyYW5jaCA9IGNvbmZpZy5kZXBsb3lCcmFuY2ggfHwgJ21haW4nO1xuXG4gIGNvbnN0IGRpZmZTdGFnZUlkeCA9IGNvbmZpZy5kaWZmU3RhZ2VJbmRleCA/PyAxO1xuICBjb25zdCBkaWZmU3RhZ2UgPSBzdGFnZXNbZGlmZlN0YWdlSWR4XSB8fCBzdGFnZXNbMF07XG4gIGNvbnN0IGRpZmZTdGFja05hbWVzID0gZGlmZlN0YWdlLmFsbFN0YWNrcygpLm1hcChzdCA9PiBzdC5zdGFja05hbWUpO1xuXG4gIGNvbnN0IGRpZmZTdGVwcyA9IGRpZmZTdGFja05hbWVzLm1hcChuYW1lID0+XG4gICAgW1xuICAgICAgJyAgICAgICAgICBESUZGX09VVFBVVD0kKG5weCBjZGsgZGlmZiAnICsgbmFtZSArICcgLS1leGNsdXNpdmVseSAyPiYxIHx8IHRydWUpJyxcbiAgICAgICcgICAgICAgICAgaWYgZWNobyBcIiRESUZGX09VVFBVVFwiIHwgZ3JlcCAtcSBcIlRoZXJlIHdlcmUgZGlmZmVyZW5jZXNcIjsgdGhlbicsXG4gICAgICAnICAgICAgICAgICAgSEFTX0NIQU5HRVM9dHJ1ZScsXG4gICAgICAnICAgICAgICAgICAgZWNobyBcIiRESUZGX09VVFBVVFwiID4gXCJjZGsub3V0L2RpZmZzLycgKyBuYW1lICsgJy5kaWZmXCInLFxuICAgICAgJyAgICAgICAgICBmaScsXG4gICAgXS5qb2luKCdcXG4nKSxcbiAgKS5qb2luKCdcXG4nKTtcblxuICBjb25zdCBsaW5lczogc3RyaW5nW10gPSBbXG4gICAgJyMgfn4gR2VuZXJhdGVkIGJ5IEByYWluZGFuY2Vycy9hZ2VudGwuIFRvIG1vZGlmeSwgZWRpdCB5b3VyIENESyBhcHAgYW5kIHJ1biBcIm5weCBjZGsgc3ludGhcIi4nLFxuICAgICduYW1lOiBQUiBSZXZpZXcgLSBEaWZmICYgQW5hbHlzaXMnLFxuICAgICcnLFxuICAgICdvbjonLFxuICAgICcgIHB1bGxfcmVxdWVzdDonLFxuICAgICcgICAgYnJhbmNoZXM6IFsnICsgYnJhbmNoICsgJ10nLFxuICAgIC4uLmJ1aWxkUGF0aHNCbG9jayhjb25maWcpLFxuICAgICcnLFxuICAgICdwZXJtaXNzaW9uczonLFxuICAgICcgIGlkLXRva2VuOiB3cml0ZScsXG4gICAgJyAgY29udGVudHM6IHJlYWQnLFxuICAgICcgIHB1bGwtcmVxdWVzdHM6IHdyaXRlJyxcbiAgICAnJyxcbiAgICAnam9iczonLFxuICAgICcgIHJldmlldzonLFxuICAgICcgICAgcnVucy1vbjogdWJ1bnR1LWxhdGVzdCcsXG4gICAgJyAgICBzdGVwczonLFxuICAgICcgICAgICAtIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAJyArIEFDVElPTlNfVkVSU0lPTixcbiAgICAnJyxcbiAgICAnICAgICAgLSB1c2VzOiBhY3Rpb25zL3NldHVwLW5vZGVAJyArIEFDVElPTlNfVkVSU0lPTixcbiAgICAnICAgICAgICB3aXRoOicsXG4gICAgJyAgICAgICAgICBub2RlLXZlcnNpb246IFxcJycgKyBub2RlVmVyc2lvbiArICdcXCcnLFxuICAgICcgICAgICAgICAgY2FjaGU6IHlhcm4nLFxuICAgICcnLFxuICAgICcgICAgICAtIHJ1bjogJyArIGluc3RhbGxDbWQsXG4gICAgJycsXG4gICAgJyAgICAgIC0gdXNlczogYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2NCcsXG4gICAgJyAgICAgICAgd2l0aDonLFxuICAgICcgICAgICAgICAgcm9sZS10by1hc3N1bWU6ICcgKyBjb25maWcuZGVwbG95Um9sZUFybixcbiAgICAnICAgICAgICAgIGF3cy1yZWdpb246ICcgKyBjb25maWcuYXdzUmVnaW9uLFxuICAgICcnLFxuICAgICcgICAgICAtIG5hbWU6IENESyBTeW50aCcsXG4gICAgJyAgICAgICAgcnVuOiAnICsgc3ludGhDbWQsXG4gICAgJycsXG4gICAgJyAgICAgIC0gbmFtZTogQ0RLIERpZmYgKCcgKyBkaWZmU3RhZ2UuaWQgKyAnKScsXG4gICAgJyAgICAgICAgaWQ6IGRpZmYnLFxuICAgICcgICAgICAgIHJ1bjogfCcsXG4gICAgJyAgICAgICAgICBta2RpciAtcCBjZGsub3V0L2RpZmZzJyxcbiAgICAnICAgICAgICAgIEhBU19DSEFOR0VTPWZhbHNlJyxcbiAgICBkaWZmU3RlcHMsXG4gICAgJyAgICAgICAgICBlY2hvIFwiaGFzX2NoYW5nZXM9JEhBU19DSEFOR0VTXCIgPj4gJEdJVEhVQl9PVVRQVVQnLFxuICAgICcnLFxuICAgICcgICAgICAtIG5hbWU6IEdlbmVyYXRlIERpZmYgU3VtbWFyeScsXG4gICAgJyAgICAgICAgaWY6IHN0ZXBzLmRpZmYub3V0cHV0cy5oYXNfY2hhbmdlcyA9PSBcXCd0cnVlXFwnJyxcbiAgICAnICAgICAgICBydW46IHwnLFxuICAgICcgICAgICAgICAgZWNobyBcIiMjIPCfk4sgQ0RLIERpZmYgU3VtbWFyeSAoJyArIGRpZmZTdGFnZS5pZCArICcpXCIgPiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICAgICcgICAgICAgICAgZWNobyBcIlwiID4+IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICAgJyAgICAgICAgICBmb3IgZiBpbiBjZGsub3V0L2RpZmZzLyouZGlmZjsgZG8nLFxuICAgICcgICAgICAgICAgICBbIC1mIFwiJGZcIiBdIHx8IGNvbnRpbnVlJyxcbiAgICAnICAgICAgICAgICAgU1RBQ0s9JChiYXNlbmFtZSBcIiRmXCIgLmRpZmYpJyxcbiAgICAnICAgICAgICAgICAgZWNobyBcIjxkZXRhaWxzPlwiID4+IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICAgJyAgICAgICAgICAgIGVjaG8gXCI8c3VtbWFyeT7wn5OmICRTVEFDSzwvc3VtbWFyeT5cIiA+PiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICAgICcgICAgICAgICAgICBlY2hvIFwiXCIgPj4gY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgICAnICAgICAgICAgICAgZWNobyBcXCdgYGBkaWZmXFwnID4+IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICAgJyAgICAgICAgICAgIGNhdCBcIiRmXCIgPj4gY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgICAnICAgICAgICAgICAgZWNobyBcXCdgYGBcXCcgPj4gY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgICAnICAgICAgICAgICAgZWNobyBcIjwvZGV0YWlscz5cIiA+PiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICAgICcgICAgICAgICAgICBlY2hvIFwiXCIgPj4gY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgICAnICAgICAgICAgIGRvbmUnLFxuICBdO1xuXG4gIGlmIChlbmFibGVCZWRyb2NrKSB7XG4gICAgbGluZXMucHVzaChcbiAgICAgICcnLFxuICAgICAgJyAgICAgIC0gdXNlczogYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2NCcsXG4gICAgICAnICAgICAgICBpZjogc3RlcHMuZGlmZi5vdXRwdXRzLmhhc19jaGFuZ2VzID09IFxcJ3RydWVcXCcnLFxuICAgICAgJyAgICAgICAgd2l0aDonLFxuICAgICAgJyAgICAgICAgICByb2xlLXRvLWFzc3VtZTogJyArIGJlZHJvY2tSb2xlQXJuLFxuICAgICAgJyAgICAgICAgICBhd3MtcmVnaW9uOiAnICsgYmVkcm9ja1JlZ2lvbixcbiAgICAgICcnLFxuICAgICAgJyAgICAgIC0gbmFtZTogV2VsbC1BcmNoaXRlY3RlZCBBbmFseXNpcycsXG4gICAgICAnICAgICAgICBpZjogc3RlcHMuZGlmZi5vdXRwdXRzLmhhc19jaGFuZ2VzID09IFxcJ3RydWVcXCcnLFxuICAgICAgJyAgICAgICAgcnVuOiB8JyxcbiAgICAgICcgICAgICAgICAgbnB4IGFnZW50bCBhbmFseXplIC0tb3V0cHV0IGNkay5vdXQvZGlmZnMvYW5hbHlzaXMubWQnLFxuICAgICAgJyAgICAgICAgICBjYXQgY2RrLm91dC9kaWZmcy9hbmFseXNpcy5tZCA+PiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICAgICk7XG4gIH1cblxuICBsaW5lcy5wdXNoKFxuICAgICcnLFxuICAgICcgICAgICAtIG5hbWU6IFBvc3QgUFIgQ29tbWVudCcsXG4gICAgJyAgICAgICAgaWY6IHN0ZXBzLmRpZmYub3V0cHV0cy5oYXNfY2hhbmdlcyA9PSBcXCd0cnVlXFwnJyxcbiAgICAnICAgICAgICB1c2VzOiBtYXJvY2NoaW5vL3N0aWNreS1wdWxsLXJlcXVlc3QtY29tbWVudEB2MicsXG4gICAgJyAgICAgICAgd2l0aDonLFxuICAgICcgICAgICAgICAgcGF0aDogY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgKTtcblxuICByZXR1cm4gbGluZXMuam9pbignXFxuJykgKyAnXFxuJztcbn1cblxuZnVuY3Rpb24gYnVpbGREZXBsb3lXb3JrZmxvdyhzdGFnZXM6IEdIQVN0YWdlW10sIGNvbmZpZzogR0hBV29ya2Zsb3dDb25maWcpOiBzdHJpbmcge1xuICBjb25zdCBub2RlVmVyc2lvbiA9IGNvbmZpZy5ub2RlVmVyc2lvbiB8fCAnMjInO1xuICBjb25zdCBpbnN0YWxsQ21kID0gY29uZmlnLmluc3RhbGxDb21tYW5kIHx8ICd5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUnO1xuICBjb25zdCBzeW50aENtZCA9IGNvbmZpZy5zeW50aENvbW1hbmQgfHwgJ25weCBjZGsgc3ludGgnO1xuICBjb25zdCBjb25jdXJyZW5jeSA9IGNvbmZpZy5kZXBsb3lDb25jdXJyZW5jeSB8fCA1O1xuICBjb25zdCBicmFuY2ggPSBjb25maWcuZGVwbG95QnJhbmNoIHx8ICdtYWluJztcblxuICBjb25zdCBsaW5lczogc3RyaW5nW10gPSBbXG4gICAgJyMgfn4gR2VuZXJhdGVkIGJ5IEByYWluZGFuY2Vycy9hZ2VudGwuIFRvIG1vZGlmeSwgZWRpdCB5b3VyIENESyBhcHAgYW5kIHJ1biBcIm5weCBjZGsgc3ludGhcIi4nLFxuICAgICduYW1lOiBEZXBsb3knLFxuICAgICcnLFxuICAgICdvbjonLFxuICAgICcgIHB1c2g6JyxcbiAgICAnICAgIGJyYW5jaGVzOiBbJyArIGJyYW5jaCArICddJyxcbiAgICAuLi5idWlsZFBhdGhzQmxvY2soY29uZmlnKSxcbiAgICAnJyxcbiAgICAncGVybWlzc2lvbnM6JyxcbiAgICAnICBpZC10b2tlbjogd3JpdGUnLFxuICAgICcgIGNvbnRlbnRzOiByZWFkJyxcbiAgICAnJyxcbiAgICAnY29uY3VycmVuY3k6JyxcbiAgICAnICBncm91cDogZGVwbG95JyxcbiAgICAnICBjYW5jZWwtaW4tcHJvZ3Jlc3M6IGZhbHNlJyxcbiAgICAnJyxcbiAgICAnam9iczonLFxuICAgICcgIHN5bnRoOicsXG4gICAgJyAgICBydW5zLW9uOiB1YnVudHUtbGF0ZXN0JyxcbiAgICAnICAgIHN0ZXBzOicsXG4gICAgJyAgICAgIC0gdXNlczogYWN0aW9ucy9jaGVja291dEAnICsgQUNUSU9OU19WRVJTSU9OLFxuICAgICcnLFxuICAgICcgICAgICAtIHVzZXM6IGFjdGlvbnMvc2V0dXAtbm9kZUAnICsgQUNUSU9OU19WRVJTSU9OLFxuICAgICcgICAgICAgIHdpdGg6JyxcbiAgICAnICAgICAgICAgIG5vZGUtdmVyc2lvbjogXFwnJyArIG5vZGVWZXJzaW9uICsgJ1xcJycsXG4gICAgJyAgICAgICAgICBjYWNoZTogeWFybicsXG4gICAgJycsXG4gICAgJyAgICAgIC0gcnVuOiAnICsgaW5zdGFsbENtZCxcbiAgICAnJyxcbiAgICAnICAgICAgLSB1c2VzOiBhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0JyxcbiAgICAnICAgICAgICB3aXRoOicsXG4gICAgJyAgICAgICAgICByb2xlLXRvLWFzc3VtZTogJyArIGNvbmZpZy5kZXBsb3lSb2xlQXJuLFxuICAgICcgICAgICAgICAgYXdzLXJlZ2lvbjogJyArIGNvbmZpZy5hd3NSZWdpb24sXG4gICAgJycsXG4gICAgJyAgICAgIC0gbmFtZTogQ0RLIFN5bnRoJyxcbiAgICAnICAgICAgICBydW46ICcgKyBzeW50aENtZCxcbiAgICAnJyxcbiAgICAnICAgICAgLSB1c2VzOiBhY3Rpb25zL3VwbG9hZC1hcnRpZmFjdEB2NCcsXG4gICAgJyAgICAgICAgd2l0aDonLFxuICAgICcgICAgICAgICAgbmFtZTogY2RrLW91dCcsXG4gICAgJyAgICAgICAgICBwYXRoOiBjZGsub3V0LycsXG4gIF07XG5cbiAgbGV0IHByZXZpb3VzSm9iSWQgPSAnc3ludGgnO1xuXG4gIGZvciAobGV0IHMgPSAwOyBzIDwgc3RhZ2VzLmxlbmd0aDsgcysrKSB7XG4gICAgY29uc3Qgc3RhZ2UgPSBzdGFnZXNbc107XG4gICAgY29uc3Qgc3RhZ2VKb2JJZCA9ICdkZXBsb3lfJyArIHN0YWdlLmlkO1xuXG4gICAgY29uc3QgZGVwbG95U3RlcHM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCB3YXZlIG9mIHN0YWdlLndhdmVzKSB7XG4gICAgICBjb25zdCBzdGFja3MgPSB3YXZlLnN0YWNrcy5tYXAoZSA9PiBlLnN0YWNrLnN0YWNrTmFtZSkuam9pbignICcpO1xuICAgICAgZGVwbG95U3RlcHMucHVzaChcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgICAtIG5hbWU6IFwi8J+MiiAnICsgd2F2ZS5pZCArICdcIicsXG4gICAgICAgICcgICAgICAgIHJ1bjogbnB4IGNkayBkZXBsb3kgJyArIHN0YWNrcyArICcgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIC0tY29uY3VycmVuY3kgJyArIGNvbmN1cnJlbmN5ICsgJyAtLWFwcCBjZGsub3V0LycsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxpbmVzLnB1c2goXG4gICAgICAnJyxcbiAgICAgICcgICcgKyBzdGFnZUpvYklkICsgJzonLFxuICAgICAgJyAgICBuYW1lOiBcIvCfmoAgJyArIHN0YWdlLmlkICsgJ1wiJyxcbiAgICAgICcgICAgcnVucy1vbjogdWJ1bnR1LWxhdGVzdCcsXG4gICAgICAnICAgIG5lZWRzOiAnICsgcHJldmlvdXNKb2JJZCxcbiAgICApO1xuXG4gICAgaWYgKHN0YWdlLmVudmlyb25tZW50KSB7XG4gICAgICBsaW5lcy5wdXNoKCcgICAgZW52aXJvbm1lbnQ6ICcgKyBzdGFnZS5lbnZpcm9ubWVudCk7XG4gICAgfVxuXG4gICAgbGluZXMucHVzaChcbiAgICAgICcgICAgc3RlcHM6JyxcbiAgICAgICcgICAgICAtIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAJyArIEFDVElPTlNfVkVSU0lPTixcbiAgICAgICcnLFxuICAgICAgJyAgICAgIC0gdXNlczogYWN0aW9ucy9zZXR1cC1ub2RlQCcgKyBBQ1RJT05TX1ZFUlNJT04sXG4gICAgICAnICAgICAgICB3aXRoOicsXG4gICAgICAnICAgICAgICAgIG5vZGUtdmVyc2lvbjogXFwnJyArIG5vZGVWZXJzaW9uICsgJ1xcJycsXG4gICAgICAnICAgICAgICAgIGNhY2hlOiB5YXJuJyxcbiAgICAgICcnLFxuICAgICAgJyAgICAgIC0gcnVuOiAnICsgaW5zdGFsbENtZCxcbiAgICAgICcnLFxuICAgICAgJyAgICAgIC0gdXNlczogYWN0aW9ucy9kb3dubG9hZC1hcnRpZmFjdEB2NCcsXG4gICAgICAnICAgICAgICB3aXRoOicsXG4gICAgICAnICAgICAgICAgIG5hbWU6IGNkay1vdXQnLFxuICAgICAgJyAgICAgICAgICBwYXRoOiBjZGsub3V0LycsXG4gICAgICAnJyxcbiAgICAgICcgICAgICAtIHVzZXM6IGF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjQnLFxuICAgICAgJyAgICAgICAgd2l0aDonLFxuICAgICAgJyAgICAgICAgICByb2xlLXRvLWFzc3VtZTogJyArIGNvbmZpZy5kZXBsb3lSb2xlQXJuLFxuICAgICAgJyAgICAgICAgICBhd3MtcmVnaW9uOiAnICsgY29uZmlnLmF3c1JlZ2lvbixcbiAgICAgIC4uLmRlcGxveVN0ZXBzLFxuICAgICk7XG5cbiAgICBwcmV2aW91c0pvYklkID0gc3RhZ2VKb2JJZDtcbiAgfVxuXG4gIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKSArICdcXG4nO1xufVxuIl19
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hhLXdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2doYS13b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXlDQSw4Q0FNQztBQS9DRCx5QkFBeUI7QUFDekIsNkJBQTZCO0FBRTdCLHFDQUFzQztBQWlDdEMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDO0FBRTdCOztHQUVHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsTUFBa0IsRUFBRSxNQUF5QjtJQUM3RSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLG1CQUFtQixDQUFDO0lBQzFELEVBQUUsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFN0MsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsRUFBRSxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekYsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM1RixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsTUFBeUI7SUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsSUFBSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pFLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFD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QVMsRUFDM0MsR0FBRyxXQUFXLENBQ2YsQ0FBQztRQUVGLGFBQWEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBHSEFTdGFnZSB9IGZyb20gJy4vZ2hhLXN0YWdlJztcbmltcG9ydCB7IFJ1bm5lclNpemUgfSBmcm9tICcuL3NoYXJlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0hBV29ya2Zsb3dDb25maWcge1xuICAvKiogRGlyZWN0b3J5IHRvIHdyaXRlIHdvcmtmbG93IGZpbGVzIEBkZWZhdWx0IC5naXRodWIvd29ya2Zsb3dzICovXG4gIHJlYWRvbmx5IG91dHB1dERpcj86IHN0cmluZztcbiAgLyoqIEFXUyByZWdpb24gZm9yIENESyBvcGVyYXRpb25zICovXG4gIHJlYWRvbmx5IGF3c1JlZ2lvbjogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIHRvIGFzc3VtZSBmb3IgZGVwbG95bWVudHMgKE9JREMpICovXG4gIHJlYWRvbmx5IGRlcGxveVJvbGVBcm46IHN0cmluZztcbiAgLyoqIElBTSByb2xlIEFSTiBmb3IgQmVkcm9jayBhbmFseXNpcyBAZGVmYXVsdCBzYW1lIGFzIGRlcGxveVJvbGVBcm4gKi9cbiAgcmVhZG9ubHkgYmVkcm9ja1JvbGVBcm4/OiBzdHJpbmc7XG4gIC8qKiBCZWRyb2NrIHJlZ2lvbiBAZGVmYXVsdCB1cy1lYXN0LTEgKi9cbiAgcmVhZG9ubHkgYmVkcm9ja1JlZ2lvbj86IHN0cmluZztcbiAgLyoqIE5vZGUuanMgdmVyc2lvbiBAZGVmYXVsdCAyMiAqL1xuICByZWFkb25seSBub2RlVmVyc2lvbj86IHN0cmluZztcbiAgLyoqIEluc3RhbGwgY29tbWFuZCBAZGVmYXVsdCB5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUgKi9cbiAgcmVhZG9ubHkgaW5zdGFsbENvbW1hbmQ/OiBzdHJpbmc7XG4gIC8qKiBTeW50aCBjb21tYW5kIEBkZWZhdWx0IG5weCBjZGsgc3ludGggKi9cbiAgcmVhZG9ubHkgc3ludGhDb21tYW5kPzogc3RyaW5nO1xuICAvKiogQnJhbmNoIHRoYXQgdHJpZ2dlcnMgZGVwbG95IEBkZWZhdWx0IG1haW4gKi9cbiAgcmVhZG9ubHkgZGVwbG95QnJhbmNoPzogc3RyaW5nO1xuICAvKiogRW5hYmxlIEJlZHJvY2sgYW5hbHlzaXMgb24gUFJzIEBkZWZhdWx0IHRydWUgKi9cbiAgcmVhZG9ubHkgZW5hYmxlQmVkcm9ja0FuYWx5c2lzPzogYm9vbGVhbjtcbiAgLyoqIENvbmN1cnJlbmN5IGZvciBjZGsgZGVwbG95IEBkZWZhdWx0IDUgKi9cbiAgcmVhZG9ubHkgZGVwbG95Q29uY3VycmVuY3k/OiBudW1iZXI7XG4gIC8qKiBXaGljaCBzdGFnZSB0byBkaWZmIG9uIFBScyBAZGVmYXVsdCBmaXJzdCBzdGFnZSAoaW5kZXggMCkgKi9cbiAgcmVhZG9ubHkgZGlmZlN0YWdlSW5kZXg/OiBudW1iZXI7XG4gIC8qKiBQYXRoIGZpbHRlcnMgZm9yIHRyaWdnZXJpbmcgZGVwbG95IGFuZCBQUiByZXZpZXcgd29ya2Zsb3dzLiBJZiBzZXQsIHdvcmtmbG93cyBvbmx5IHRyaWdnZXIgb24gY2hhbmdlcyBtYXRjaGluZyB0aGVzZSBwYXRocyAoZS5nLiBbJ3NyYy8qKicsICdwYWNrYWdlLmpzb24nXSkuICovXG4gIHJlYWRvbmx5IHRyaWdnZXJEZXBsb3lQYXRocz86IHN0cmluZ1tdO1xuICAvKiogR2l0SHViIEFjdGlvbnMgcnVubmVyIHNpemUgQGRlZmF1bHQgUnVubmVyU2l6ZS5TVEFOREFSRCAoMiBjb3JlcykgKi9cbiAgcmVhZG9ubHkgcnVubmVyU2l6ZT86IFJ1bm5lclNpemU7XG59XG5cbmNvbnN0IEFDVElPTlNfVkVSU0lPTiA9ICd2Nic7XG5cbi8qKlxuICogR2VuZXJhdGUgR2l0SHViIEFjdGlvbnMgd29ya2Zsb3dzIGZvciB0aGUgcGlwZWxpbmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVdvcmtmbG93cyhzdGFnZXM6IEdIQVN0YWdlW10sIGNvbmZpZzogR0hBV29ya2Zsb3dDb25maWcpOiB2b2lkIHtcbiAgY29uc3Qgb3V0cHV0RGlyID0gY29uZmlnLm91dHB1dERpciB8fCAnLmdpdGh1Yi93b3JrZmxvd3MnO1xuICBmcy5ta2RpclN5bmMob3V0cHV0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXREaXIsICdwci1yZXZpZXcueW1sJyksIGJ1aWxkUFJXb3JrZmxvdyhzdGFnZXMsIGNvbmZpZykpO1xuICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXREaXIsICdkZXBsb3kueW1sJyksIGJ1aWxkRGVwbG95V29ya2Zsb3coc3RhZ2VzLCBjb25maWcpKTtcbn1cblxuZnVuY3Rpb24gYnVpbGRQYXRoc0Jsb2NrKGNvbmZpZzogR0hBV29ya2Zsb3dDb25maWcpOiBzdHJpbmdbXSB7XG4gIGlmICghY29uZmlnLnRyaWdnZXJEZXBsb3lQYXRocyB8fCBjb25maWcudHJpZ2dlckRlcGxveVBhdGhzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gWycgICAgcGF0aHM6J107XG4gIGZvciAoY29uc3QgcCBvZiBjb25maWcudHJpZ2dlckRlcGxveVBhdGhzKSB7XG4gICAgcmVzdWx0LnB1c2goJyAgICAgIC0gXFwnJyArIHAgKyAnXFwnJyk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gYnVpbGRQUldvcmtmbG93KHN0YWdlczogR0hBU3RhZ2VbXSwgY29uZmlnOiBHSEFXb3JrZmxvd0NvbmZpZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vZGVWZXJzaW9uID0gY29uZmlnLm5vZGVWZXJzaW9uIHx8ICcyMic7XG4gIGNvbnN0IGluc3RhbGxDbWQgPSBjb25maWcuaW5zdGFsbENvbW1hbmQgfHwgJ3lhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZSc7XG4gIGNvbnN0IHN5bnRoQ21kID0gY29uZmlnLnN5bnRoQ29tbWFuZCB8fCAnbnB4IGNkayBzeW50aCc7XG4gIGNvbnN0IGJlZHJvY2tSZWdpb24gPSBjb25maWcuYmVkcm9ja1JlZ2lvbiB8fCAndXMtZWFzdC0xJztcbiAgY29uc3QgYmVkcm9ja1JvbGVBcm4gPSBjb25maWcuYmVkcm9ja1JvbGVBcm4gfHwgY29uZmlnLmRlcGxveVJvbGVBcm47XG4gIGNvbnN0IGVuYWJsZUJlZHJvY2sgPSBjb25maWcuZW5hYmxlQmVkcm9ja0FuYWx5c2lzICE9PSBmYWxzZTtcbiAgY29uc3QgYnJhbmNoID0gY29uZmlnLmRlcGxveUJyYW5jaCB8fCAnbWFpbic7XG4gIGNvbnN0IHJ1bnNPbiA9IGNvbmZpZy5ydW5uZXJTaXplIHx8IFJ1bm5lclNpemUuU1RBTkRBUkQ7XG5cbiAgY29uc3QgZGlmZlN0YWdlSWR4ID0gY29uZmlnLmRpZmZTdGFnZUluZGV4ID8/IDE7XG4gIGNvbnN0IGRpZmZTdGFnZSA9IHN0YWdlc1tkaWZmU3RhZ2VJZHhdIHx8IHN0YWdlc1swXTtcbiAgY29uc3QgZGlmZlN0YWNrTmFtZXMgPSBkaWZmU3RhZ2UuYWxsU3RhY2tzKCkubWFwKHN0ID0+IHN0LnN0YWNrTmFtZSk7XG5cbiAgY29uc3QgZGlmZlN0ZXBzID0gZGlmZlN0YWNrTmFtZXMubWFwKG5hbWUgPT5cbiAgICBbXG4gICAgICAnICAgICAgICAgIERJRkZfT1VUUFVUPSQobnB4IGNkayBkaWZmICcgKyBuYW1lICsgJyAtLWV4Y2x1c2l2ZWx5IDI+JjEgfHwgdHJ1ZSknLFxuICAgICAgJyAgICAgICAgICBpZiBlY2hvIFwiJERJRkZfT1VUUFVUXCIgfCBncmVwIC1xIFwiVGhlcmUgd2VyZSBkaWZmZXJlbmNlc1wiOyB0aGVuJyxcbiAgICAgICcgICAgICAgICAgICBIQVNfQ0hBTkdFUz10cnVlJyxcbiAgICAgICcgICAgICAgICAgICBlY2hvIFwiJERJRkZfT1VUUFVUXCIgPiBcImNkay5vdXQvZGlmZnMvJyArIG5hbWUgKyAnLmRpZmZcIicsXG4gICAgICAnICAgICAgICAgIGZpJyxcbiAgICBdLmpvaW4oJ1xcbicpLFxuICApLmpvaW4oJ1xcbicpO1xuXG4gIGNvbnN0IGxpbmVzOiBzdHJpbmdbXSA9IFtcbiAgICAnIyB+fiBHZW5lcmF0ZWQgYnkgQHJhaW5kYW5jZXJzL2FnZW50bC4gVG8gbW9kaWZ5LCBlZGl0IHlvdXIgQ0RLIGFwcCBhbmQgcnVuIFwibnB4IGNkayBzeW50aFwiLicsXG4gICAgJ25hbWU6IFBSIFJldmlldyAtIERpZmYgJiBBbmFseXNpcycsXG4gICAgJycsXG4gICAgJ29uOicsXG4gICAgJyAgcHVsbF9yZXF1ZXN0OicsXG4gICAgJyAgICBicmFuY2hlczogWycgKyBicmFuY2ggKyAnXScsXG4gICAgLi4uYnVpbGRQYXRoc0Jsb2NrKGNvbmZpZyksXG4gICAgJycsXG4gICAgJ3Blcm1pc3Npb25zOicsXG4gICAgJyAgaWQtdG9rZW46IHdyaXRlJyxcbiAgICAnICBjb250ZW50czogcmVhZCcsXG4gICAgJyAgcHVsbC1yZXF1ZXN0czogd3JpdGUnLFxuICAgICcnLFxuICAgICdqb2JzOicsXG4gICAgJyAgcmV2aWV3OicsXG4gICAgJyAgICBydW5zLW9uOiAnICsgcnVuc09uLFxuICAgICcgICAgc3RlcHM6JyxcbiAgICAnICAgICAgLSB1c2VzOiBhY3Rpb25zL2NoZWNrb3V0QCcgKyBBQ1RJT05TX1ZFUlNJT04sXG4gICAgJycsXG4gICAgJyAgICAgIC0gdXNlczogYWN0aW9ucy9zZXR1cC1ub2RlQCcgKyBBQ1RJT05TX1ZFUlNJT04sXG4gICAgJyAgICAgICAgd2l0aDonLFxuICAgICcgICAgICAgICAgbm9kZS12ZXJzaW9uOiBcXCcnICsgbm9kZVZlcnNpb24gKyAnXFwnJyxcbiAgICAnICAgICAgICAgIGNhY2hlOiB5YXJuJyxcbiAgICAnJyxcbiAgICAnICAgICAgLSBydW46ICcgKyBpbnN0YWxsQ21kLFxuICAgICcnLFxuICAgICcgICAgICAtIHVzZXM6IGF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjQnLFxuICAgICcgICAgICAgIHdpdGg6JyxcbiAgICAnICAgICAgICAgIHJvbGUtdG8tYXNzdW1lOiAnICsgY29uZmlnLmRlcGxveVJvbGVBcm4sXG4gICAgJyAgICAgICAgICBhd3MtcmVnaW9uOiAnICsgY29uZmlnLmF3c1JlZ2lvbixcbiAgICAnJyxcbiAgICAnICAgICAgLSBuYW1lOiBDREsgU3ludGgnLFxuICAgICcgICAgICAgIHJ1bjogJyArIHN5bnRoQ21kLFxuICAgICcnLFxuICAgICcgICAgICAtIG5hbWU6IENESyBEaWZmICgnICsgZGlmZlN0YWdlLmlkICsgJyknLFxuICAgICcgICAgICAgIGlkOiBkaWZmJyxcbiAgICAnICAgICAgICBydW46IHwnLFxuICAgICcgICAgICAgICAgbWtkaXIgLXAgY2RrLm91dC9kaWZmcycsXG4gICAgJyAgICAgICAgICBIQVNfQ0hBTkdFUz1mYWxzZScsXG4gICAgZGlmZlN0ZXBzLFxuICAgICcgICAgICAgICAgZWNobyBcImhhc19jaGFuZ2VzPSRIQVNfQ0hBTkdFU1wiID4+ICRHSVRIVUJfT1VUUFVUJyxcbiAgICAnJyxcbiAgICAnICAgICAgLSBuYW1lOiBHZW5lcmF0ZSBEaWZmIFN1bW1hcnknLFxuICAgICcgICAgICAgIGlmOiBzdGVwcy5kaWZmLm91dHB1dHMuaGFzX2NoYW5nZXMgPT0gXFwndHJ1ZVxcJycsXG4gICAgJyAgICAgICAgcnVuOiB8JyxcbiAgICAnICAgICAgICAgIGVjaG8gXCIjIyDwn5OLIENESyBEaWZmIFN1bW1hcnkgKCcgKyBkaWZmU3RhZ2UuaWQgKyAnKVwiID4gY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgICAnICAgICAgICAgIGVjaG8gXCJcIiA+PiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICAgICcgICAgICAgICAgZm9yIGYgaW4gY2RrLm91dC9kaWZmcy8qLmRpZmY7IGRvJyxcbiAgICAnICAgICAgICAgICAgWyAtZiBcIiRmXCIgXSB8fCBjb250aW51ZScsXG4gICAgJyAgICAgICAgICAgIFNUQUNLPSQoYmFzZW5hbWUgXCIkZlwiIC5kaWZmKScsXG4gICAgJyAgICAgICAgICAgIGVjaG8gXCI8ZGV0YWlscz5cIiA+PiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICAgICcgICAgICAgICAgICBlY2hvIFwiPHN1bW1hcnk+8J+TpiAkU1RBQ0s8L3N1bW1hcnk+XCIgPj4gY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgICAnICAgICAgICAgICAgZWNobyBcIlwiID4+IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICAgJyAgICAgICAgICAgIGVjaG8gXFwnYGBgZGlmZlxcJyA+PiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICAgICcgICAgICAgICAgICBjYXQgXCIkZlwiID4+IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICAgJyAgICAgICAgICAgIGVjaG8gXFwnYGBgXFwnID4+IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICAgJyAgICAgICAgICAgIGVjaG8gXCI8L2RldGFpbHM+XCIgPj4gY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgICAnICAgICAgICAgICAgZWNobyBcIlwiID4+IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICAgJyAgICAgICAgICBkb25lJyxcbiAgXTtcblxuICBpZiAoZW5hYmxlQmVkcm9jaykge1xuICAgIGxpbmVzLnB1c2goXG4gICAgICAnJyxcbiAgICAgICcgICAgICAtIHVzZXM6IGF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjQnLFxuICAgICAgJyAgICAgICAgaWY6IHN0ZXBzLmRpZmYub3V0cHV0cy5oYXNfY2hhbmdlcyA9PSBcXCd0cnVlXFwnJyxcbiAgICAgICcgICAgICAgIHdpdGg6JyxcbiAgICAgICcgICAgICAgICAgcm9sZS10by1hc3N1bWU6ICcgKyBiZWRyb2NrUm9sZUFybixcbiAgICAgICcgICAgICAgICAgYXdzLXJlZ2lvbjogJyArIGJlZHJvY2tSZWdpb24sXG4gICAgICAnJyxcbiAgICAgICcgICAgICAtIG5hbWU6IFdlbGwtQXJjaGl0ZWN0ZWQgQW5hbHlzaXMnLFxuICAgICAgJyAgICAgICAgaWY6IHN0ZXBzLmRpZmYub3V0cHV0cy5oYXNfY2hhbmdlcyA9PSBcXCd0cnVlXFwnJyxcbiAgICAgICcgICAgICAgIHJ1bjogfCcsXG4gICAgICAnICAgICAgICAgIG5weCBhZ2VudGwgYW5hbHl6ZSAtLW91dHB1dCBjZGsub3V0L2RpZmZzL2FuYWx5c2lzLm1kJyxcbiAgICAgICcgICAgICAgICAgY2F0IGNkay5vdXQvZGlmZnMvYW5hbHlzaXMubWQgPj4gY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgICApO1xuICB9XG5cbiAgbGluZXMucHVzaChcbiAgICAnJyxcbiAgICAnICAgICAgLSBuYW1lOiBQb3N0IFBSIENvbW1lbnQnLFxuICAgICcgICAgICAgIGlmOiBzdGVwcy5kaWZmLm91dHB1dHMuaGFzX2NoYW5nZXMgPT0gXFwndHJ1ZVxcJycsXG4gICAgJyAgICAgICAgdXNlczogbWFyb2NjaGluby9zdGlja3ktcHVsbC1yZXF1ZXN0LWNvbW1lbnRAdjInLFxuICAgICcgICAgICAgIHdpdGg6JyxcbiAgICAnICAgICAgICAgIHBhdGg6IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICk7XG5cbiAgcmV0dXJuIGxpbmVzLmpvaW4oJ1xcbicpICsgJ1xcbic7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkRGVwbG95V29ya2Zsb3coc3RhZ2VzOiBHSEFTdGFnZVtdLCBjb25maWc6IEdIQVdvcmtmbG93Q29uZmlnKTogc3RyaW5nIHtcbiAgY29uc3Qgbm9kZVZlcnNpb24gPSBjb25maWcubm9kZVZlcnNpb24gfHwgJzIyJztcbiAgY29uc3QgaW5zdGFsbENtZCA9IGNvbmZpZy5pbnN0YWxsQ29tbWFuZCB8fCAneWFybiBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlJztcbiAgY29uc3Qgc3ludGhDbWQgPSBjb25maWcuc3ludGhDb21tYW5kIHx8ICducHggY2RrIHN5bnRoJztcbiAgY29uc3QgY29uY3VycmVuY3kgPSBjb25maWcuZGVwbG95Q29uY3VycmVuY3kgfHwgNTtcbiAgY29uc3QgYnJhbmNoID0gY29uZmlnLmRlcGxveUJyYW5jaCB8fCAnbWFpbic7XG4gIGNvbnN0IHJ1bnNPbiA9IGNvbmZpZy5ydW5uZXJTaXplIHx8IFJ1bm5lclNpemUuU1RBTkRBUkQ7XG5cbiAgY29uc3QgbGluZXM6IHN0cmluZ1tdID0gW1xuICAgICcjIH5+IEdlbmVyYXRlZCBieSBAcmFpbmRhbmNlcnMvYWdlbnRsLiBUbyBtb2RpZnksIGVkaXQgeW91ciBDREsgYXBwIGFuZCBydW4gXCJucHggY2RrIHN5bnRoXCIuJyxcbiAgICAnbmFtZTogRGVwbG95JyxcbiAgICAnJyxcbiAgICAnb246JyxcbiAgICAnICBwdXNoOicsXG4gICAgJyAgICBicmFuY2hlczogWycgKyBicmFuY2ggKyAnXScsXG4gICAgLi4uYnVpbGRQYXRoc0Jsb2NrKGNvbmZpZyksXG4gICAgJycsXG4gICAgJ3Blcm1pc3Npb25zOicsXG4gICAgJyAgaWQtdG9rZW46IHdyaXRlJyxcbiAgICAnICBjb250ZW50czogcmVhZCcsXG4gICAgJycsXG4gICAgJ2NvbmN1cnJlbmN5OicsXG4gICAgJyAgZ3JvdXA6IGRlcGxveScsXG4gICAgJyAgY2FuY2VsLWluLXByb2dyZXNzOiBmYWxzZScsXG4gICAgJycsXG4gICAgJ2pvYnM6JyxcbiAgICAnICBzeW50aDonLFxuICAgICcgICAgcnVucy1vbjogJyArIHJ1bnNPbixcbiAgICAnICAgIHN0ZXBzOicsXG4gICAgJyAgICAgIC0gdXNlczogYWN0aW9ucy9jaGVja291dEAnICsgQUNUSU9OU19WRVJTSU9OLFxuICAgICcnLFxuICAgICcgICAgICAtIHVzZXM6IGFjdGlvbnMvc2V0dXAtbm9kZUAnICsgQUNUSU9OU19WRVJTSU9OLFxuICAgICcgICAgICAgIHdpdGg6JyxcbiAgICAnICAgICAgICAgIG5vZGUtdmVyc2lvbjogXFwnJyArIG5vZGVWZXJzaW9uICsgJ1xcJycsXG4gICAgJyAgICAgICAgICBjYWNoZTogeWFybicsXG4gICAgJycsXG4gICAgJyAgICAgIC0gcnVuOiAnICsgaW5zdGFsbENtZCxcbiAgICAnJyxcbiAgICAnICAgICAgLSB1c2VzOiBhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0JyxcbiAgICAnICAgICAgICB3aXRoOicsXG4gICAgJyAgICAgICAgICByb2xlLXRvLWFzc3VtZTogJyArIGNvbmZpZy5kZXBsb3lSb2xlQXJuLFxuICAgICcgICAgICAgICAgYXdzLXJlZ2lvbjogJyArIGNvbmZpZy5hd3NSZWdpb24sXG4gICAgJycsXG4gICAgJyAgICAgIC0gbmFtZTogQ0RLIFN5bnRoJyxcbiAgICAnICAgICAgICBydW46ICcgKyBzeW50aENtZCxcbiAgICAnJyxcbiAgICAnICAgICAgLSB1c2VzOiBhY3Rpb25zL3VwbG9hZC1hcnRpZmFjdEB2NCcsXG4gICAgJyAgICAgICAgd2l0aDonLFxuICAgICcgICAgICAgICAgbmFtZTogY2RrLW91dCcsXG4gICAgJyAgICAgICAgICBwYXRoOiBjZGsub3V0LycsXG4gIF07XG5cbiAgbGV0IHByZXZpb3VzSm9iSWQgPSAnc3ludGgnO1xuXG4gIGZvciAobGV0IHMgPSAwOyBzIDwgc3RhZ2VzLmxlbmd0aDsgcysrKSB7XG4gICAgY29uc3Qgc3RhZ2UgPSBzdGFnZXNbc107XG4gICAgY29uc3Qgc3RhZ2VKb2JJZCA9ICdkZXBsb3lfJyArIHN0YWdlLmlkO1xuXG4gICAgY29uc3QgZGVwbG95U3RlcHM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCB3YXZlIG9mIHN0YWdlLndhdmVzKSB7XG4gICAgICBjb25zdCBzdGFja3MgPSB3YXZlLnN0YWNrcy5tYXAoZSA9PiBlLnN0YWNrLnN0YWNrTmFtZSkuam9pbignICcpO1xuICAgICAgZGVwbG95U3RlcHMucHVzaChcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgICAtIG5hbWU6IFwi8J+MiiAnICsgd2F2ZS5pZCArICdcIicsXG4gICAgICAgICcgICAgICAgIHJ1bjogbnB4IGNkayBkZXBsb3kgJyArIHN0YWNrcyArICcgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIC0tY29uY3VycmVuY3kgJyArIGNvbmN1cnJlbmN5ICsgJyAtLWFwcCBjZGsub3V0LycsXG4gICAgICApO1xuICAgIH1cblxuICAgIGxpbmVzLnB1c2goXG4gICAgICAnJyxcbiAgICAgICcgICcgKyBzdGFnZUpvYklkICsgJzonLFxuICAgICAgJyAgICBuYW1lOiBcIvCfmoAgJyArIHN0YWdlLmlkICsgJ1wiJyxcbiAgICAgICcgICAgcnVucy1vbjogJyArIHJ1bnNPbixcbiAgICAgICcgICAgbmVlZHM6ICcgKyBwcmV2aW91c0pvYklkLFxuICAgICk7XG5cbiAgICBpZiAoc3RhZ2UuZW52aXJvbm1lbnQpIHtcbiAgICAgIGxpbmVzLnB1c2goJyAgICBlbnZpcm9ubWVudDogJyArIHN0YWdlLmVudmlyb25tZW50KTtcbiAgICB9XG5cbiAgICBsaW5lcy5wdXNoKFxuICAgICAgJyAgICBzdGVwczonLFxuICAgICAgJyAgICAgIC0gdXNlczogYWN0aW9ucy9jaGVja291dEAnICsgQUNUSU9OU19WRVJTSU9OLFxuICAgICAgJycsXG4gICAgICAnICAgICAgLSB1c2VzOiBhY3Rpb25zL3NldHVwLW5vZGVAJyArIEFDVElPTlNfVkVSU0lPTixcbiAgICAgICcgICAgICAgIHdpdGg6JyxcbiAgICAgICcgICAgICAgICAgbm9kZS12ZXJzaW9uOiBcXCcnICsgbm9kZVZlcnNpb24gKyAnXFwnJyxcbiAgICAgICcgICAgICAgICAgY2FjaGU6IHlhcm4nLFxuICAgICAgJycsXG4gICAgICAnICAgICAgLSBydW46ICcgKyBpbnN0YWxsQ21kLFxuICAgICAgJycsXG4gICAgICAnICAgICAgLSB1c2VzOiBhY3Rpb25zL2Rvd25sb2FkLWFydGlmYWN0QHY0JyxcbiAgICAgICcgICAgICAgIHdpdGg6JyxcbiAgICAgICcgICAgICAgICAgbmFtZTogY2RrLW91dCcsXG4gICAgICAnICAgICAgICAgIHBhdGg6IGNkay5vdXQvJyxcbiAgICAgICcnLFxuICAgICAgJyAgICAgIC0gdXNlczogYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2NCcsXG4gICAgICAnICAgICAgICB3aXRoOicsXG4gICAgICAnICAgICAgICAgIHJvbGUtdG8tYXNzdW1lOiAnICsgY29uZmlnLmRlcGxveVJvbGVBcm4sXG4gICAgICAnICAgICAgICAgIGF3cy1yZWdpb246ICcgKyBjb25maWcuYXdzUmVnaW9uLFxuICAgICAgLi4uZGVwbG95U3RlcHMsXG4gICAgKTtcblxuICAgIHByZXZpb3VzSm9iSWQgPSBzdGFnZUpvYklkO1xuICB9XG5cbiAgcmV0dXJuIGxpbmVzLmpvaW4oJ1xcbicpICsgJ1xcbic7XG59XG4iXX0=
|
package/lib/shared.d.ts
CHANGED
|
@@ -8,3 +8,18 @@ export interface MermaidDiagramOutput {
|
|
|
8
8
|
* */
|
|
9
9
|
readonly fileName?: string;
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* GitHub Actions runner size. Controls the number of CPU cores available to the runner.
|
|
13
|
+
* Larger runners are faster but cost more. Requires GitHub Team or Enterprise plan
|
|
14
|
+
* for anything above STANDARD.
|
|
15
|
+
*/
|
|
16
|
+
export declare enum RunnerSize {
|
|
17
|
+
/** 2 cores (default, free tier) */
|
|
18
|
+
STANDARD = "ubuntu-latest",
|
|
19
|
+
/** 4 cores */
|
|
20
|
+
LARGE = "ubuntu-latest-4-cores",
|
|
21
|
+
/** 8 cores */
|
|
22
|
+
XLARGE = "ubuntu-latest-8-cores",
|
|
23
|
+
/** 16 cores */
|
|
24
|
+
XXLARGE = "ubuntu-latest-16-cores"
|
|
25
|
+
}
|
package/lib/shared.js
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
3
|
+
exports.RunnerSize = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* GitHub Actions runner size. Controls the number of CPU cores available to the runner.
|
|
6
|
+
* Larger runners are faster but cost more. Requires GitHub Team or Enterprise plan
|
|
7
|
+
* for anything above STANDARD.
|
|
8
|
+
*/
|
|
9
|
+
var RunnerSize;
|
|
10
|
+
(function (RunnerSize) {
|
|
11
|
+
/** 2 cores (default, free tier) */
|
|
12
|
+
RunnerSize["STANDARD"] = "ubuntu-latest";
|
|
13
|
+
/** 4 cores */
|
|
14
|
+
RunnerSize["LARGE"] = "ubuntu-latest-4-cores";
|
|
15
|
+
/** 8 cores */
|
|
16
|
+
RunnerSize["XLARGE"] = "ubuntu-latest-8-cores";
|
|
17
|
+
/** 16 cores */
|
|
18
|
+
RunnerSize["XXLARGE"] = "ubuntu-latest-16-cores";
|
|
19
|
+
})(RunnerSize || (exports.RunnerSize = RunnerSize = {}));
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFZQTs7OztHQUlHO0FBQ0gsSUFBWSxVQVNYO0FBVEQsV0FBWSxVQUFVO0lBQ3BCLG1DQUFtQztJQUNuQyx3Q0FBMEIsQ0FBQTtJQUMxQixjQUFjO0lBQ2QsNkNBQStCLENBQUE7SUFDL0IsY0FBYztJQUNkLDhDQUFnQyxDQUFBO0lBQ2hDLGVBQWU7SUFDZixnREFBa0MsQ0FBQTtBQUNwQyxDQUFDLEVBVFcsVUFBVSwwQkFBVixVQUFVLFFBU3JCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNZXJtYWlkRGlhZ3JhbU91dHB1dCB7XG4gIC8qKlxuICAgKiBUaGUgcGF0aCB3aGVyZSB0aGUgTWVybWFpZCBkaWFncmFtIHdpbGwgYmUgc2F2ZWQuIElmIG5vdCBwcm92aWRlZCBkZWZhdWx0cyB0byByb290XG4gICAqICovXG4gIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE11c3QgZW5kIGluIGAubWRgLiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHRzIHRvIGNkay1leHByZXNzLXBpcGVsaW5lLWRlcGxveW1lbnQtb3JkZXIubWRcbiAgICogKi9cbiAgcmVhZG9ubHkgZmlsZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogR2l0SHViIEFjdGlvbnMgcnVubmVyIHNpemUuIENvbnRyb2xzIHRoZSBudW1iZXIgb2YgQ1BVIGNvcmVzIGF2YWlsYWJsZSB0byB0aGUgcnVubmVyLlxuICogTGFyZ2VyIHJ1bm5lcnMgYXJlIGZhc3RlciBidXQgY29zdCBtb3JlLiBSZXF1aXJlcyBHaXRIdWIgVGVhbSBvciBFbnRlcnByaXNlIHBsYW5cbiAqIGZvciBhbnl0aGluZyBhYm92ZSBTVEFOREFSRC5cbiAqL1xuZXhwb3J0IGVudW0gUnVubmVyU2l6ZSB7XG4gIC8qKiAyIGNvcmVzIChkZWZhdWx0LCBmcmVlIHRpZXIpICovXG4gIFNUQU5EQVJEID0gJ3VidW50dS1sYXRlc3QnLFxuICAvKiogNCBjb3JlcyAqL1xuICBMQVJHRSA9ICd1YnVudHUtbGF0ZXN0LTQtY29yZXMnLFxuICAvKiogOCBjb3JlcyAqL1xuICBYTEFSR0UgPSAndWJ1bnR1LWxhdGVzdC04LWNvcmVzJyxcbiAgLyoqIDE2IGNvcmVzICovXG4gIFhYTEFSR0UgPSAndWJ1bnR1LWxhdGVzdC0xNi1jb3JlcycsXG59Il19
|
package/lib/utils/json-patch.js
CHANGED
|
@@ -88,5 +88,5 @@ class JsonPatch {
|
|
|
88
88
|
}
|
|
89
89
|
exports.JsonPatch = JsonPatch;
|
|
90
90
|
_a = JSII_RTTI_SYMBOL_1;
|
|
91
|
-
JsonPatch[_a] = { fqn: "@raindancers/agentl.JsonPatch", version: "0.0.
|
|
91
|
+
JsonPatch[_a] = { fqn: "@raindancers/agentl.JsonPatch", version: "0.0.3" };
|
|
92
92
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1wYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9qc29uLXBhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0RBQXNFO0FBVXRFOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQWEsU0FBUztJQUNwQjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUN4QyxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZO1FBQy9CLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUM1QyxPQUFPLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUMzQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQVksRUFBRSxJQUFZO1FBQzNDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ3pDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsUUFBYSxFQUFFLEdBQUcsR0FBWTtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFBLGlCQUFVLEVBQ3ZCLFFBQVEsRUFDUixHQUFrQixDQUNuQixDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7O0FBekVILDhCQTBFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wZXJhdGlvbiwgYXBwbHlQYXRjaCB9IGZyb20gJ2Zhc3QtanNvbi1wYXRjaC9jb21tb25qcy9jb3JlJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdGNoIHtcbiAgcmVhZG9ubHkgb3A6IHN0cmluZztcbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICByZWFkb25seSB2YWx1ZT86IGFueTtcbiAgcmVhZG9ubHkgZnJvbT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZvciBhcHBseWluZyBSRkMtNjkwMiBKU09OLVBhdGNoIHRvIGEgZG9jdW1lbnQuXG4gKlxuICogVXNlIHRoZSB0aGUgYEpzb25QYXRjaC5hcHBseShkb2MsIC4uLm9wcylgIGZ1bmN0aW9uIHRvIGFwcGx5IGEgc2V0IG9mXG4gKiBvcGVyYXRpb25zIHRvIGEgSlNPTiBkb2N1bWVudCBhbmQgcmV0dXJuIHRoZSByZXN1bHQuXG4gKlxuICogT3BlcmF0aW9ucyBjYW4gYmUgY3JlYXRlZCB1c2luZyB0aGUgZmFjdG9yeSBtZXRob2RzIGBKc29uUGF0Y2guYWRkKClgLFxuICogYEpzb25QYXRjaC5yZW1vdmUoKWAsIGV0Yy5cbiAqXG4gKiBjb25zdCBvdXRwdXQgPSBKc29uUGF0Y2guYXBwbHkoaW5wdXQsXG4gKiAgIEpzb25QYXRjaC5yZXBsYWNlKCcvd29ybGQvaGkvdGhlcmUnLCAnZ29vZGJ5ZScpLFxuICogICBKc29uUGF0Y2guYWRkKCcvd29ybGQvZm9vLycsICdib29tJyksXG4gKiAgIEpzb25QYXRjaC5yZW1vdmUoJy9oZWxsbycpLFxuICogKTtcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBKc29uUGF0Y2gge1xuICAvKipcbiAgICogQWRkcyBhIHZhbHVlIHRvIGFuIG9iamVjdCBvciBpbnNlcnRzIGl0IGludG8gYW4gYXJyYXkuIEluIHRoZSBjYXNlIG9mIGFuXG4gICAqIGFycmF5LCB0aGUgdmFsdWUgaXMgaW5zZXJ0ZWQgYmVmb3JlIHRoZSBnaXZlbiBpbmRleC4gVGhlIC0gY2hhcmFjdGVyIGNhbiBiZVxuICAgKiB1c2VkIGluc3RlYWQgb2YgYW4gaW5kZXggdG8gaW5zZXJ0IGF0IHRoZSBlbmQgb2YgYW4gYXJyYXkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5hZGQoJy9taWxrJywgdHJ1ZSlcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLmFkZCgnL2Jpc2N1aXRzLzEnLCB7IFwibmFtZVwiOiBcIkdpbmdlciBOdXRcIiB9KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhZGQocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogUGF0Y2gge1xuICAgIHJldHVybiB7IG9wOiAnYWRkJywgcGF0aCwgdmFsdWUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgdmFsdWUgZnJvbSBhbiBvYmplY3Qgb3IgYXJyYXkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5yZW1vdmUoJy9iaXNjdWl0cycpXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5yZW1vdmUoJy9iaXNjdWl0cy8wJylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlKHBhdGg6IHN0cmluZyk6IFBhdGNoIHtcbiAgICByZXR1cm4geyBvcDogJ3JlbW92ZScsIHBhdGggfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBhIHZhbHVlLiBFcXVpdmFsZW50IHRvIGEg4oCccmVtb3Zl4oCdIGZvbGxvd2VkIGJ5IGFuIOKAnGFkZOKAnS5cbiAgICpcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLnJlcGxhY2UoJy9iaXNjdWl0cy8wL25hbWUnLCAnQ2hvY29sYXRlIERpZ2VzdGl2ZScpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlcGxhY2UocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogUGF0Y2gge1xuICAgIHJldHVybiB7IG9wOiAncmVwbGFjZScsIHBhdGgsIHZhbHVlIH07XG4gIH1cblxuICAvKipcbiAgICogQ29waWVzIGEgdmFsdWUgZnJvbSBvbmUgbG9jYXRpb24gdG8gYW5vdGhlciB3aXRoaW4gdGhlIEpTT04gZG9jdW1lbnQuIEJvdGhcbiAgICogZnJvbSBhbmQgcGF0aCBhcmUgSlNPTiBQb2ludGVycy5cbiAgICpcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLmNvcHkoJy9iaXNjdWl0cy8wJywgJy9iZXN0X2Jpc2N1aXQnKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KGZyb206IHN0cmluZywgcGF0aDogc3RyaW5nKTogUGF0Y2gge1xuICAgIHJldHVybiB7IG9wOiAnY29weScsIGZyb20sIHBhdGggfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyBhIHZhbHVlIGZyb20gb25lIGxvY2F0aW9uIHRvIHRoZSBvdGhlci4gQm90aCBmcm9tIGFuZCBwYXRoIGFyZSBKU09OIFBvaW50ZXJzLlxuICAgKlxuICAgKiBAZXhhbXBsZSBKc29uUGF0Y2gubW92ZSgnL2Jpc2N1aXRzJywgJy9jb29raWVzJylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbW92ZShmcm9tOiBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IFBhdGNoIHtcbiAgICByZXR1cm4geyBvcDogJ21vdmUnLCBmcm9tLCBwYXRoIH07XG4gIH1cblxuICAvKipcbiAgICogVGVzdHMgdGhhdCB0aGUgc3BlY2lmaWVkIHZhbHVlIGlzIHNldCBpbiB0aGUgZG9jdW1lbnQuIElmIHRoZSB0ZXN0IGZhaWxzLFxuICAgKiB0aGVuIHRoZSBwYXRjaCBhcyBhIHdob2xlIHNob3VsZCBub3QgYXBwbHkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC50ZXN0KCcvYmVzdF9iaXNjdWl0L25hbWUnLCAnQ2hvY28gTGVpYm5peicpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRlc3QocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogUGF0Y2gge1xuICAgIHJldHVybiB7IG9wOiAndGVzdCcsIHBhdGgsIHZhbHVlIH07XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyBhIHNldCBvZiBKU09OLVBhdGNoIChSRkMtNjkwMikgb3BlcmF0aW9ucyB0byBgZG9jdW1lbnRgIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuXG4gICAqIEBwYXJhbSBkb2N1bWVudCBUaGUgZG9jdW1lbnQgdG8gcGF0Y2hcbiAgICogQHBhcmFtIG9wcyBUaGUgb3BlcmF0aW9ucyB0byBhcHBseVxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IGRvY3VtZW50XG4gICAqL1xuICBwdWJsaWMgcGF0Y2goZG9jdW1lbnQ6IGFueSwgLi4ub3BzOiBQYXRjaFtdKTogYW55IHtcbiAgICBjb25zdCByZXN1bHQgPSBhcHBseVBhdGNoKFxuICAgICAgZG9jdW1lbnQsXG4gICAgICBvcHMgYXMgT3BlcmF0aW9uW10sXG4gICAgKTtcbiAgICByZXR1cm4gcmVzdWx0Lm5ld0RvY3VtZW50O1xuICB9XG59Il19
|