@raindancers/agentl 0.0.1 → 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 CHANGED
@@ -9549,6 +9549,178 @@
9549
9549
  ],
9550
9550
  "symbolId": "src/diff:DiffResult"
9551
9551
  },
9552
+ "@raindancers/agentl.GHACodeBuildTriggerConfig": {
9553
+ "assembly": "@raindancers/agentl",
9554
+ "datatype": true,
9555
+ "docs": {
9556
+ "stability": "stable"
9557
+ },
9558
+ "fqn": "@raindancers/agentl.GHACodeBuildTriggerConfig",
9559
+ "kind": "interface",
9560
+ "locationInModule": {
9561
+ "filename": "src/gha-codebuild-trigger.ts",
9562
+ "line": 5
9563
+ },
9564
+ "name": "GHACodeBuildTriggerConfig",
9565
+ "properties": [
9566
+ {
9567
+ "abstract": true,
9568
+ "docs": {
9569
+ "stability": "stable",
9570
+ "summary": "AWS region where the CodeBuild project lives."
9571
+ },
9572
+ "immutable": true,
9573
+ "locationInModule": {
9574
+ "filename": "src/gha-codebuild-trigger.ts",
9575
+ "line": 15
9576
+ },
9577
+ "name": "awsRegion",
9578
+ "type": {
9579
+ "primitive": "string"
9580
+ }
9581
+ },
9582
+ {
9583
+ "abstract": true,
9584
+ "docs": {
9585
+ "stability": "stable",
9586
+ "summary": "Name of the CodeBuild project to trigger."
9587
+ },
9588
+ "immutable": true,
9589
+ "locationInModule": {
9590
+ "filename": "src/gha-codebuild-trigger.ts",
9591
+ "line": 19
9592
+ },
9593
+ "name": "codeBuildProjectName",
9594
+ "type": {
9595
+ "primitive": "string"
9596
+ }
9597
+ },
9598
+ {
9599
+ "abstract": true,
9600
+ "docs": {
9601
+ "stability": "stable",
9602
+ "summary": "IAM role ARN to assume via GitHub OIDC."
9603
+ },
9604
+ "immutable": true,
9605
+ "locationInModule": {
9606
+ "filename": "src/gha-codebuild-trigger.ts",
9607
+ "line": 17
9608
+ },
9609
+ "name": "deployRoleArn",
9610
+ "type": {
9611
+ "primitive": "string"
9612
+ }
9613
+ },
9614
+ {
9615
+ "abstract": true,
9616
+ "docs": {
9617
+ "stability": "stable",
9618
+ "summary": "Path filters that trigger this workflow (e.g. ['publish/**', 'mkdocs.yml'])."
9619
+ },
9620
+ "immutable": true,
9621
+ "locationInModule": {
9622
+ "filename": "src/gha-codebuild-trigger.ts",
9623
+ "line": 11
9624
+ },
9625
+ "name": "triggerPaths",
9626
+ "type": {
9627
+ "collection": {
9628
+ "elementtype": {
9629
+ "primitive": "string"
9630
+ },
9631
+ "kind": "array"
9632
+ }
9633
+ }
9634
+ },
9635
+ {
9636
+ "abstract": true,
9637
+ "docs": {
9638
+ "stability": "stable",
9639
+ "summary": "Filename for the workflow (e.g. 'publish-docs.yml')."
9640
+ },
9641
+ "immutable": true,
9642
+ "locationInModule": {
9643
+ "filename": "src/gha-codebuild-trigger.ts",
9644
+ "line": 9
9645
+ },
9646
+ "name": "workflowFileName",
9647
+ "type": {
9648
+ "primitive": "string"
9649
+ }
9650
+ },
9651
+ {
9652
+ "abstract": true,
9653
+ "docs": {
9654
+ "stability": "stable",
9655
+ "summary": "Name of the workflow (appears in GitHub Actions UI)."
9656
+ },
9657
+ "immutable": true,
9658
+ "locationInModule": {
9659
+ "filename": "src/gha-codebuild-trigger.ts",
9660
+ "line": 7
9661
+ },
9662
+ "name": "workflowName",
9663
+ "type": {
9664
+ "primitive": "string"
9665
+ }
9666
+ },
9667
+ {
9668
+ "abstract": true,
9669
+ "docs": {
9670
+ "default": "main",
9671
+ "stability": "stable",
9672
+ "summary": "Branch that triggers the workflow."
9673
+ },
9674
+ "immutable": true,
9675
+ "locationInModule": {
9676
+ "filename": "src/gha-codebuild-trigger.ts",
9677
+ "line": 13
9678
+ },
9679
+ "name": "deployBranch",
9680
+ "optional": true,
9681
+ "type": {
9682
+ "primitive": "string"
9683
+ }
9684
+ },
9685
+ {
9686
+ "abstract": true,
9687
+ "docs": {
9688
+ "default": ".github/workflows",
9689
+ "stability": "stable",
9690
+ "summary": "Directory to write workflow files."
9691
+ },
9692
+ "immutable": true,
9693
+ "locationInModule": {
9694
+ "filename": "src/gha-codebuild-trigger.ts",
9695
+ "line": 21
9696
+ },
9697
+ "name": "outputDir",
9698
+ "optional": true,
9699
+ "type": {
9700
+ "primitive": "string"
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
+ }
9720
+ }
9721
+ ],
9722
+ "symbolId": "src/gha-codebuild-trigger:GHACodeBuildTriggerConfig"
9723
+ },
9552
9724
  "@raindancers/agentl.GHAOidcRole": {
9553
9725
  "assembly": "@raindancers/agentl",
9554
9726
  "base": "constructs.Construct",
@@ -10348,7 +10520,7 @@
10348
10520
  "kind": "interface",
10349
10521
  "locationInModule": {
10350
10522
  "filename": "src/gha-workflow.ts",
10351
- "line": 5
10523
+ "line": 6
10352
10524
  },
10353
10525
  "name": "GHAWorkflowConfig",
10354
10526
  "properties": [
@@ -10361,7 +10533,7 @@
10361
10533
  "immutable": true,
10362
10534
  "locationInModule": {
10363
10535
  "filename": "src/gha-workflow.ts",
10364
- "line": 9
10536
+ "line": 10
10365
10537
  },
10366
10538
  "name": "awsRegion",
10367
10539
  "type": {
@@ -10377,7 +10549,7 @@
10377
10549
  "immutable": true,
10378
10550
  "locationInModule": {
10379
10551
  "filename": "src/gha-workflow.ts",
10380
- "line": 11
10552
+ "line": 12
10381
10553
  },
10382
10554
  "name": "deployRoleArn",
10383
10555
  "type": {
@@ -10394,7 +10566,7 @@
10394
10566
  "immutable": true,
10395
10567
  "locationInModule": {
10396
10568
  "filename": "src/gha-workflow.ts",
10397
- "line": 15
10569
+ "line": 16
10398
10570
  },
10399
10571
  "name": "bedrockRegion",
10400
10572
  "optional": true,
@@ -10412,7 +10584,7 @@
10412
10584
  "immutable": true,
10413
10585
  "locationInModule": {
10414
10586
  "filename": "src/gha-workflow.ts",
10415
- "line": 13
10587
+ "line": 14
10416
10588
  },
10417
10589
  "name": "bedrockRoleArn",
10418
10590
  "optional": true,
@@ -10430,7 +10602,7 @@
10430
10602
  "immutable": true,
10431
10603
  "locationInModule": {
10432
10604
  "filename": "src/gha-workflow.ts",
10433
- "line": 23
10605
+ "line": 24
10434
10606
  },
10435
10607
  "name": "deployBranch",
10436
10608
  "optional": true,
@@ -10448,7 +10620,7 @@
10448
10620
  "immutable": true,
10449
10621
  "locationInModule": {
10450
10622
  "filename": "src/gha-workflow.ts",
10451
- "line": 27
10623
+ "line": 28
10452
10624
  },
10453
10625
  "name": "deployConcurrency",
10454
10626
  "optional": true,
@@ -10466,7 +10638,7 @@
10466
10638
  "immutable": true,
10467
10639
  "locationInModule": {
10468
10640
  "filename": "src/gha-workflow.ts",
10469
- "line": 29
10641
+ "line": 30
10470
10642
  },
10471
10643
  "name": "diffStageIndex",
10472
10644
  "optional": true,
@@ -10484,7 +10656,7 @@
10484
10656
  "immutable": true,
10485
10657
  "locationInModule": {
10486
10658
  "filename": "src/gha-workflow.ts",
10487
- "line": 25
10659
+ "line": 26
10488
10660
  },
10489
10661
  "name": "enableBedrockAnalysis",
10490
10662
  "optional": true,
@@ -10502,7 +10674,7 @@
10502
10674
  "immutable": true,
10503
10675
  "locationInModule": {
10504
10676
  "filename": "src/gha-workflow.ts",
10505
- "line": 19
10677
+ "line": 20
10506
10678
  },
10507
10679
  "name": "installCommand",
10508
10680
  "optional": true,
@@ -10520,7 +10692,7 @@
10520
10692
  "immutable": true,
10521
10693
  "locationInModule": {
10522
10694
  "filename": "src/gha-workflow.ts",
10523
- "line": 17
10695
+ "line": 18
10524
10696
  },
10525
10697
  "name": "nodeVersion",
10526
10698
  "optional": true,
@@ -10538,7 +10710,7 @@
10538
10710
  "immutable": true,
10539
10711
  "locationInModule": {
10540
10712
  "filename": "src/gha-workflow.ts",
10541
- "line": 7
10713
+ "line": 8
10542
10714
  },
10543
10715
  "name": "outputDir",
10544
10716
  "optional": true,
@@ -10549,24 +10721,19 @@
10549
10721
  {
10550
10722
  "abstract": true,
10551
10723
  "docs": {
10552
- "remarks": "If set, workflows only trigger on changes matching these paths (e.g. ['src/**', 'package.json']).",
10724
+ "default": "RunnerSize.STANDARD (2 cores)",
10553
10725
  "stability": "stable",
10554
- "summary": "Path filters for triggering workflows."
10726
+ "summary": "GitHub Actions runner size."
10555
10727
  },
10556
10728
  "immutable": true,
10557
10729
  "locationInModule": {
10558
10730
  "filename": "src/gha-workflow.ts",
10559
- "line": 31
10731
+ "line": 34
10560
10732
  },
10561
- "name": "paths",
10733
+ "name": "runnerSize",
10562
10734
  "optional": true,
10563
10735
  "type": {
10564
- "collection": {
10565
- "elementtype": {
10566
- "primitive": "string"
10567
- },
10568
- "kind": "array"
10569
- }
10736
+ "fqn": "@raindancers/agentl.RunnerSize"
10570
10737
  }
10571
10738
  },
10572
10739
  {
@@ -10579,13 +10746,36 @@
10579
10746
  "immutable": true,
10580
10747
  "locationInModule": {
10581
10748
  "filename": "src/gha-workflow.ts",
10582
- "line": 21
10749
+ "line": 22
10583
10750
  },
10584
10751
  "name": "synthCommand",
10585
10752
  "optional": true,
10586
10753
  "type": {
10587
10754
  "primitive": "string"
10588
10755
  }
10756
+ },
10757
+ {
10758
+ "abstract": true,
10759
+ "docs": {
10760
+ "remarks": "If set, workflows only trigger on changes matching these paths (e.g. ['src/**', 'package.json']).",
10761
+ "stability": "stable",
10762
+ "summary": "Path filters for triggering deploy and PR review workflows."
10763
+ },
10764
+ "immutable": true,
10765
+ "locationInModule": {
10766
+ "filename": "src/gha-workflow.ts",
10767
+ "line": 32
10768
+ },
10769
+ "name": "triggerDeployPaths",
10770
+ "optional": true,
10771
+ "type": {
10772
+ "collection": {
10773
+ "elementtype": {
10774
+ "primitive": "string"
10775
+ },
10776
+ "kind": "array"
10777
+ }
10778
+ }
10589
10779
  }
10590
10780
  ],
10591
10781
  "symbolId": "src/gha-workflow:GHAWorkflowConfig"
@@ -10974,6 +11164,52 @@
10974
11164
  ],
10975
11165
  "symbolId": "src/utils/json-patch:Patch"
10976
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
+ },
10977
11213
  "@raindancers/agentl.StackEntry": {
10978
11214
  "assembly": "@raindancers/agentl",
10979
11215
  "datatype": true,
@@ -11079,6 +11315,6 @@
11079
11315
  "symbolId": "src/bedrock-analysis:WellArchitectedPillar"
11080
11316
  }
11081
11317
  },
11082
- "version": "0.0.1",
11083
- "fingerprint": "twBOug7ZMzR4v2F3ju6uU4/ttK8td4XDaN0nj+WqQQQ="
11318
+ "version": "0.0.3",
11319
+ "fingerprint": "VbpKx/0Bo2Mq7ump523gDo/wQ0d1LMa0Rk+1sZnoPW4="
11084
11320
  }
package/API.md CHANGED
@@ -551,6 +551,143 @@ public readonly stackName: string;
551
551
 
552
552
  ---
553
553
 
554
+ ### GHACodeBuildTriggerConfig <a name="GHACodeBuildTriggerConfig" id="@raindancers/agentl.GHACodeBuildTriggerConfig"></a>
555
+
556
+ #### Initializer <a name="Initializer" id="@raindancers/agentl.GHACodeBuildTriggerConfig.Initializer"></a>
557
+
558
+ ```typescript
559
+ import { GHACodeBuildTriggerConfig } from '@raindancers/agentl'
560
+
561
+ const gHACodeBuildTriggerConfig: GHACodeBuildTriggerConfig = { ... }
562
+ ```
563
+
564
+ #### Properties <a name="Properties" id="Properties"></a>
565
+
566
+ | **Name** | **Type** | **Description** |
567
+ | --- | --- | --- |
568
+ | <code><a href="#@raindancers/agentl.GHACodeBuildTriggerConfig.property.awsRegion">awsRegion</a></code> | <code>string</code> | AWS region where the CodeBuild project lives. |
569
+ | <code><a href="#@raindancers/agentl.GHACodeBuildTriggerConfig.property.codeBuildProjectName">codeBuildProjectName</a></code> | <code>string</code> | Name of the CodeBuild project to trigger. |
570
+ | <code><a href="#@raindancers/agentl.GHACodeBuildTriggerConfig.property.deployRoleArn">deployRoleArn</a></code> | <code>string</code> | IAM role ARN to assume via GitHub OIDC. |
571
+ | <code><a href="#@raindancers/agentl.GHACodeBuildTriggerConfig.property.triggerPaths">triggerPaths</a></code> | <code>string[]</code> | Path filters that trigger this workflow (e.g. ['publish/**', 'mkdocs.yml']). |
572
+ | <code><a href="#@raindancers/agentl.GHACodeBuildTriggerConfig.property.workflowFileName">workflowFileName</a></code> | <code>string</code> | Filename for the workflow (e.g. 'publish-docs.yml'). |
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
+ | <code><a href="#@raindancers/agentl.GHACodeBuildTriggerConfig.property.deployBranch">deployBranch</a></code> | <code>string</code> | Branch that triggers the workflow. |
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. |
577
+
578
+ ---
579
+
580
+ ##### `awsRegion`<sup>Required</sup> <a name="awsRegion" id="@raindancers/agentl.GHACodeBuildTriggerConfig.property.awsRegion"></a>
581
+
582
+ ```typescript
583
+ public readonly awsRegion: string;
584
+ ```
585
+
586
+ - *Type:* string
587
+
588
+ AWS region where the CodeBuild project lives.
589
+
590
+ ---
591
+
592
+ ##### `codeBuildProjectName`<sup>Required</sup> <a name="codeBuildProjectName" id="@raindancers/agentl.GHACodeBuildTriggerConfig.property.codeBuildProjectName"></a>
593
+
594
+ ```typescript
595
+ public readonly codeBuildProjectName: string;
596
+ ```
597
+
598
+ - *Type:* string
599
+
600
+ Name of the CodeBuild project to trigger.
601
+
602
+ ---
603
+
604
+ ##### `deployRoleArn`<sup>Required</sup> <a name="deployRoleArn" id="@raindancers/agentl.GHACodeBuildTriggerConfig.property.deployRoleArn"></a>
605
+
606
+ ```typescript
607
+ public readonly deployRoleArn: string;
608
+ ```
609
+
610
+ - *Type:* string
611
+
612
+ IAM role ARN to assume via GitHub OIDC.
613
+
614
+ ---
615
+
616
+ ##### `triggerPaths`<sup>Required</sup> <a name="triggerPaths" id="@raindancers/agentl.GHACodeBuildTriggerConfig.property.triggerPaths"></a>
617
+
618
+ ```typescript
619
+ public readonly triggerPaths: string[];
620
+ ```
621
+
622
+ - *Type:* string[]
623
+
624
+ Path filters that trigger this workflow (e.g. ['publish/**', 'mkdocs.yml']).
625
+
626
+ ---
627
+
628
+ ##### `workflowFileName`<sup>Required</sup> <a name="workflowFileName" id="@raindancers/agentl.GHACodeBuildTriggerConfig.property.workflowFileName"></a>
629
+
630
+ ```typescript
631
+ public readonly workflowFileName: string;
632
+ ```
633
+
634
+ - *Type:* string
635
+
636
+ Filename for the workflow (e.g. 'publish-docs.yml').
637
+
638
+ ---
639
+
640
+ ##### `workflowName`<sup>Required</sup> <a name="workflowName" id="@raindancers/agentl.GHACodeBuildTriggerConfig.property.workflowName"></a>
641
+
642
+ ```typescript
643
+ public readonly workflowName: string;
644
+ ```
645
+
646
+ - *Type:* string
647
+
648
+ Name of the workflow (appears in GitHub Actions UI).
649
+
650
+ ---
651
+
652
+ ##### `deployBranch`<sup>Optional</sup> <a name="deployBranch" id="@raindancers/agentl.GHACodeBuildTriggerConfig.property.deployBranch"></a>
653
+
654
+ ```typescript
655
+ public readonly deployBranch: string;
656
+ ```
657
+
658
+ - *Type:* string
659
+ - *Default:* main
660
+
661
+ Branch that triggers the workflow.
662
+
663
+ ---
664
+
665
+ ##### `outputDir`<sup>Optional</sup> <a name="outputDir" id="@raindancers/agentl.GHACodeBuildTriggerConfig.property.outputDir"></a>
666
+
667
+ ```typescript
668
+ public readonly outputDir: string;
669
+ ```
670
+
671
+ - *Type:* string
672
+ - *Default:* .github/workflows
673
+
674
+ Directory to write workflow files.
675
+
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
+
554
691
  ### GHAOidcRoleProps <a name="GHAOidcRoleProps" id="@raindancers/agentl.GHAOidcRoleProps"></a>
555
692
 
556
693
  #### Initializer <a name="Initializer" id="@raindancers/agentl.GHAOidcRoleProps.Initializer"></a>
@@ -767,8 +904,9 @@ const gHAWorkflowConfig: GHAWorkflowConfig = { ... }
767
904
  | <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.installCommand">installCommand</a></code> | <code>string</code> | Install command. |
768
905
  | <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.nodeVersion">nodeVersion</a></code> | <code>string</code> | Node.js version. |
769
906
  | <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.outputDir">outputDir</a></code> | <code>string</code> | Directory to write workflow files. |
770
- | <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.paths">paths</a></code> | <code>string[]</code> | Path filters for triggering workflows. |
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. |
771
908
  | <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.synthCommand">synthCommand</a></code> | <code>string</code> | Synth command. |
909
+ | <code><a href="#@raindancers/agentl.GHAWorkflowConfig.property.triggerDeployPaths">triggerDeployPaths</a></code> | <code>string[]</code> | Path filters for triggering deploy and PR review workflows. |
772
910
 
773
911
  ---
774
912
 
@@ -913,17 +1051,16 @@ Directory to write workflow files.
913
1051
 
914
1052
  ---
915
1053
 
916
- ##### `paths`<sup>Optional</sup> <a name="paths" id="@raindancers/agentl.GHAWorkflowConfig.property.paths"></a>
1054
+ ##### `runnerSize`<sup>Optional</sup> <a name="runnerSize" id="@raindancers/agentl.GHAWorkflowConfig.property.runnerSize"></a>
917
1055
 
918
1056
  ```typescript
919
- public readonly paths: string[];
1057
+ public readonly runnerSize: RunnerSize;
920
1058
  ```
921
1059
 
922
- - *Type:* string[]
1060
+ - *Type:* <a href="#@raindancers/agentl.RunnerSize">RunnerSize</a>
1061
+ - *Default:* RunnerSize.STANDARD (2 cores)
923
1062
 
924
- Path filters for triggering workflows.
925
-
926
- If set, workflows only trigger on changes matching these paths (e.g. ['src/**', 'package.json']).
1063
+ GitHub Actions runner size.
927
1064
 
928
1065
  ---
929
1066
 
@@ -940,6 +1077,20 @@ Synth command.
940
1077
 
941
1078
  ---
942
1079
 
1080
+ ##### `triggerDeployPaths`<sup>Optional</sup> <a name="triggerDeployPaths" id="@raindancers/agentl.GHAWorkflowConfig.property.triggerDeployPaths"></a>
1081
+
1082
+ ```typescript
1083
+ public readonly triggerDeployPaths: string[];
1084
+ ```
1085
+
1086
+ - *Type:* string[]
1087
+
1088
+ Path filters for triggering deploy and PR review workflows.
1089
+
1090
+ If set, workflows only trigger on changes matching these paths (e.g. ['src/**', 'package.json']).
1091
+
1092
+ ---
1093
+
943
1094
  ### MermaidDiagramOutput <a name="MermaidDiagramOutput" id="@raindancers/agentl.MermaidDiagramOutput"></a>
944
1095
 
945
1096
  #### Initializer <a name="Initializer" id="@raindancers/agentl.MermaidDiagramOutput.Initializer"></a>
@@ -1719,6 +1870,53 @@ JsonPatch.test('/best_biscuit/name', 'Choco Leibniz')
1719
1870
 
1720
1871
  ## Enums <a name="Enums" id="Enums"></a>
1721
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
+
1722
1920
  ### WellArchitectedPillar <a name="WellArchitectedPillar" id="@raindancers/agentl.WellArchitectedPillar"></a>
1723
1921
 
1724
1922
  #### Members <a name="Members" id="Members"></a>
@@ -0,0 +1,26 @@
1
+ import { RunnerSize } from './shared';
2
+ export interface GHACodeBuildTriggerConfig {
3
+ /** Name of the workflow (appears in GitHub Actions UI) */
4
+ readonly workflowName: string;
5
+ /** Filename for the workflow (e.g. 'publish-docs.yml') */
6
+ readonly workflowFileName: string;
7
+ /** Path filters that trigger this workflow (e.g. ['publish/**', 'mkdocs.yml']) */
8
+ readonly triggerPaths: string[];
9
+ /** Branch that triggers the workflow @default main */
10
+ readonly deployBranch?: string;
11
+ /** AWS region where the CodeBuild project lives */
12
+ readonly awsRegion: string;
13
+ /** IAM role ARN to assume via GitHub OIDC */
14
+ readonly deployRoleArn: string;
15
+ /** Name of the CodeBuild project to trigger */
16
+ readonly codeBuildProjectName: string;
17
+ /** Directory to write workflow files @default .github/workflows */
18
+ readonly outputDir?: string;
19
+ /** GitHub Actions runner size @default RunnerSize.STANDARD (2 cores) */
20
+ readonly runnerSize?: RunnerSize;
21
+ }
22
+ /**
23
+ * Generates a GitHub Actions workflow that triggers an AWS CodeBuild project
24
+ * when specified file paths change on push to a branch.
25
+ */
26
+ export declare function generateCodeBuildTriggerWorkflow(config: GHACodeBuildTriggerConfig): void;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateCodeBuildTriggerWorkflow = generateCodeBuildTriggerWorkflow;
4
+ const fs = require("fs");
5
+ const path = require("path");
6
+ const shared_1 = require("./shared");
7
+ /**
8
+ * Generates a GitHub Actions workflow that triggers an AWS CodeBuild project
9
+ * when specified file paths change on push to a branch.
10
+ */
11
+ function generateCodeBuildTriggerWorkflow(config) {
12
+ const outputDir = config.outputDir || '.github/workflows';
13
+ fs.mkdirSync(outputDir, { recursive: true });
14
+ const content = buildCodeBuildTriggerWorkflow(config);
15
+ fs.writeFileSync(path.join(outputDir, config.workflowFileName), content);
16
+ }
17
+ function buildCodeBuildTriggerWorkflow(config) {
18
+ const branch = config.deployBranch || 'main';
19
+ const runsOn = config.runnerSize || shared_1.RunnerSize.STANDARD;
20
+ const lines = [
21
+ '# ~~ Generated by @raindancers/agentl. To modify, edit your CDK app and run "npx cdk synth".',
22
+ 'name: ' + config.workflowName,
23
+ '',
24
+ 'on:',
25
+ ' push:',
26
+ ' branches: [' + branch + ']',
27
+ ' paths:',
28
+ ];
29
+ for (const p of config.triggerPaths) {
30
+ lines.push(' - \'' + p + '\'');
31
+ }
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);
33
+ return lines.join('\n') + '\n';
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hhLWNvZGVidWlsZC10cmlnZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2doYS1jb2RlYnVpbGQtdHJpZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTZCQSw0RUFNQztBQW5DRCx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLHFDQUFzQztBQXVCdEM7OztHQUdHO0FBQ0gsU0FBZ0IsZ0NBQWdDLENBQUMsTUFBaUM7SUFDaEYsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxtQkFBbUIsQ0FBQztJQUMxRCxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTdDLE1BQU0sT0FBTyxHQUFHLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUVELFNBQVMsNkJBQTZCLENBQUMsTUFBaUM7SUFDdEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUM7SUFDN0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxtQkFBVSxDQUFDLFFBQVEsQ0FBQztJQUV4RCxNQUFNLEtBQUssR0FBYTtRQUN0Qiw4RkFBOEY7UUFDOUYsUUFBUSxHQUFHLE1BQU0sQ0FBQyxZQUFZO1FBQzlCLEVBQUU7UUFDRixLQUFLO1FBQ0wsU0FBUztRQUNULGlCQUFpQixHQUFHLE1BQU0sR0FBRyxHQUFHO1FBQ2hDLFlBQVk7S0FDYixDQUFDO0lBRUYsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUNSLEVBQUUsRUFDRixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixFQUFFLEVBQ0YsT0FBTyxFQUNQLFlBQVksRUFDWixlQUFlLEdBQUcsTUFBTSxFQUN4QixZQUFZLEVBQ1oseUNBQXlDLEVBQ3pDLHdEQUF3RCxFQUN4RCxlQUFlLEVBQ2YsNEJBQTRCLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFDbkQsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFDM0MsRUFBRSxFQUNGLGlDQUFpQyxFQUNqQyx3REFBd0QsR0FBRyxNQUFNLENBQUMsb0JBQW9CLEdBQUcsWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQ3pILENBQUM7SUFFRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgUnVubmVyU2l6ZSB9IGZyb20gJy4vc2hhcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBHSEFDb2RlQnVpbGRUcmlnZ2VyQ29uZmlnIHtcbiAgLyoqIE5hbWUgb2YgdGhlIHdvcmtmbG93IChhcHBlYXJzIGluIEdpdEh1YiBBY3Rpb25zIFVJKSAqL1xuICByZWFkb25seSB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgLyoqIEZpbGVuYW1lIGZvciB0aGUgd29ya2Zsb3cgKGUuZy4gJ3B1Ymxpc2gtZG9jcy55bWwnKSAqL1xuICByZWFkb25seSB3b3JrZmxvd0ZpbGVOYW1lOiBzdHJpbmc7XG4gIC8qKiBQYXRoIGZpbHRlcnMgdGhhdCB0cmlnZ2VyIHRoaXMgd29ya2Zsb3cgKGUuZy4gWydwdWJsaXNoLyoqJywgJ21rZG9jcy55bWwnXSkgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlclBhdGhzOiBzdHJpbmdbXTtcbiAgLyoqIEJyYW5jaCB0aGF0IHRyaWdnZXJzIHRoZSB3b3JrZmxvdyBAZGVmYXVsdCBtYWluICovXG4gIHJlYWRvbmx5IGRlcGxveUJyYW5jaD86IHN0cmluZztcbiAgLyoqIEFXUyByZWdpb24gd2hlcmUgdGhlIENvZGVCdWlsZCBwcm9qZWN0IGxpdmVzICovXG4gIHJlYWRvbmx5IGF3c1JlZ2lvbjogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIHRvIGFzc3VtZSB2aWEgR2l0SHViIE9JREMgKi9cbiAgcmVhZG9ubHkgZGVwbG95Um9sZUFybjogc3RyaW5nO1xuICAvKiogTmFtZSBvZiB0aGUgQ29kZUJ1aWxkIHByb2plY3QgdG8gdHJpZ2dlciAqL1xuICByZWFkb25seSBjb2RlQnVpbGRQcm9qZWN0TmFtZTogc3RyaW5nO1xuICAvKiogRGlyZWN0b3J5IHRvIHdyaXRlIHdvcmtmbG93IGZpbGVzIEBkZWZhdWx0IC5naXRodWIvd29ya2Zsb3dzICovXG4gIHJlYWRvbmx5IG91dHB1dERpcj86IHN0cmluZztcbiAgLyoqIEdpdEh1YiBBY3Rpb25zIHJ1bm5lciBzaXplIEBkZWZhdWx0IFJ1bm5lclNpemUuU1RBTkRBUkQgKDIgY29yZXMpICovXG4gIHJlYWRvbmx5IHJ1bm5lclNpemU/OiBSdW5uZXJTaXplO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93IHRoYXQgdHJpZ2dlcnMgYW4gQVdTIENvZGVCdWlsZCBwcm9qZWN0XG4gKiB3aGVuIHNwZWNpZmllZCBmaWxlIHBhdGhzIGNoYW5nZSBvbiBwdXNoIHRvIGEgYnJhbmNoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVDb2RlQnVpbGRUcmlnZ2VyV29ya2Zsb3coY29uZmlnOiBHSEFDb2RlQnVpbGRUcmlnZ2VyQ29uZmlnKTogdm9pZCB7XG4gIGNvbnN0IG91dHB1dERpciA9IGNvbmZpZy5vdXRwdXREaXIgfHwgJy5naXRodWIvd29ya2Zsb3dzJztcbiAgZnMubWtkaXJTeW5jKG91dHB1dERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgY29uc3QgY29udGVudCA9IGJ1aWxkQ29kZUJ1aWxkVHJpZ2dlcldvcmtmbG93KGNvbmZpZyk7XG4gIGZzLndyaXRlRmlsZVN5bmMocGF0aC5qb2luKG91dHB1dERpciwgY29uZmlnLndvcmtmbG93RmlsZU5hbWUpLCBjb250ZW50KTtcbn1cblxuZnVuY3Rpb24gYnVpbGRDb2RlQnVpbGRUcmlnZ2VyV29ya2Zsb3coY29uZmlnOiBHSEFDb2RlQnVpbGRUcmlnZ2VyQ29uZmlnKTogc3RyaW5nIHtcbiAgY29uc3QgYnJhbmNoID0gY29uZmlnLmRlcGxveUJyYW5jaCB8fCAnbWFpbic7XG4gIGNvbnN0IHJ1bnNPbiA9IGNvbmZpZy5ydW5uZXJTaXplIHx8IFJ1bm5lclNpemUuU1RBTkRBUkQ7XG5cbiAgY29uc3QgbGluZXM6IHN0cmluZ1tdID0gW1xuICAgICcjIH5+IEdlbmVyYXRlZCBieSBAcmFpbmRhbmNlcnMvYWdlbnRsLiBUbyBtb2RpZnksIGVkaXQgeW91ciBDREsgYXBwIGFuZCBydW4gXCJucHggY2RrIHN5bnRoXCIuJyxcbiAgICAnbmFtZTogJyArIGNvbmZpZy53b3JrZmxvd05hbWUsXG4gICAgJycsXG4gICAgJ29uOicsXG4gICAgJyAgcHVzaDonLFxuICAgICcgICAgYnJhbmNoZXM6IFsnICsgYnJhbmNoICsgJ10nLFxuICAgICcgICAgcGF0aHM6JyxcbiAgXTtcblxuICBmb3IgKGNvbnN0IHAgb2YgY29uZmlnLnRyaWdnZXJQYXRocykge1xuICAgIGxpbmVzLnB1c2goJyAgICAgIC0gXFwnJyArIHAgKyAnXFwnJyk7XG4gIH1cblxuICBsaW5lcy5wdXNoKFxuICAgICcnLFxuICAgICdwZXJtaXNzaW9uczonLFxuICAgICcgIGlkLXRva2VuOiB3cml0ZScsXG4gICAgJyAgY29udGVudHM6IHJlYWQnLFxuICAgICcnLFxuICAgICdqb2JzOicsXG4gICAgJyAgdHJpZ2dlcjonLFxuICAgICcgICAgcnVucy1vbjogJyArIHJ1bnNPbixcbiAgICAnICAgIHN0ZXBzOicsXG4gICAgJyAgICAgIC0gbmFtZTogQ29uZmlndXJlIEFXUyBjcmVkZW50aWFscycsXG4gICAgJyAgICAgICAgdXNlczogYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2NCcsXG4gICAgJyAgICAgICAgd2l0aDonLFxuICAgICcgICAgICAgICAgcm9sZS10by1hc3N1bWU6ICcgKyBjb25maWcuZGVwbG95Um9sZUFybixcbiAgICAnICAgICAgICAgIGF3cy1yZWdpb246ICcgKyBjb25maWcuYXdzUmVnaW9uLFxuICAgICcnLFxuICAgICcgICAgICAtIG5hbWU6IFRyaWdnZXIgQ29kZUJ1aWxkJyxcbiAgICAnICAgICAgICBydW46IGF3cyBjb2RlYnVpbGQgc3RhcnQtYnVpbGQgLS1wcm9qZWN0LW5hbWUgJyArIGNvbmZpZy5jb2RlQnVpbGRQcm9qZWN0TmFtZSArICcgLS1yZWdpb24gJyArIGNvbmZpZy5hd3NSZWdpb24sXG4gICk7XG5cbiAgcmV0dXJuIGxpbmVzLmpvaW4oJ1xcbicpICsgJ1xcbic7XG59XG4iXX0=
@@ -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.1" };
107
+ GHAOidcRole[_a] = { fqn: "@raindancers/agentl.GHAOidcRole", version: "0.0.3" };
108
108
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hhLW9pZGMtcm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9naGEtb2lkYy1yb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBR3FCO0FBQ3JCLG9DQUFvQztBQUNwQywyQ0FBdUM7QUFxQnZDOzs7OztHQUtHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFJeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sT0FBTyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUV2QyxpRUFBaUU7UUFDakUsSUFBSSxRQUFvQyxDQUFDO1FBQ3pDLElBQUksS0FBSyxDQUFDLGNBQWMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxRQUFRLEdBQUcsSUFBSSxxQkFBRyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7Z0JBQzNELEdBQUcsRUFBRSw2Q0FBNkM7Z0JBQ2xELFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQ2pDLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLE9BQU8sb0RBQW9ELENBQUM7WUFDaEcsUUFBUSxHQUFHLHFCQUFHLENBQUMscUJBQXFCLENBQUMsNEJBQTRCLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNyRyxDQUFDO1FBRUQsMkJBQTJCO1FBQzNCLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM5QixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsZUFBZSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUM5QixRQUFRLENBQUMsSUFBSSxDQUFDLFFB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SUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDMUIsS0FBSyxNQUFNLFNBQVMsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBRyxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN4SCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUM5QixDQUFDOztBQXRHSCxrQ0F1R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhd3NfaWFtIGFzIGlhbSxcbiAgU3RhY2ssXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvcmUgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0hBT2lkY1JvbGVQcm9wcyB7XG4gIC8qKiBHaXRIdWIgb3JnL3VzZXIgYW5kIHJlcG8gbmFtZSAoZS5nLiAncmFpbmRhbmNlcnMvQWdlbnRMJykgKi9cbiAgcmVhZG9ubHkgcmVwb3NpdG9yeTogc3RyaW5nO1xuICAvKiogQnJhbmNoZXMgYWxsb3dlZCB0byBhc3N1bWUgdGhlIHJvbGUgQGRlZmF1bHQgWydtYWluJ10gKi9cbiAgcmVhZG9ubHkgYWxsb3dlZEJyYW5jaGVzPzogc3RyaW5nW107XG4gIC8qKiBBbGxvdyBQUnMgdG8gYXNzdW1lIHRoZSByb2xlIChmb3IgY2RrIGRpZmYpIEBkZWZhdWx0IHRydWUgKi9cbiAgcmVhZG9ubHkgYWxsb3dQdWxsUmVxdWVzdHM/OiBib29sZWFuO1xuICAvKiogQVdTIGFjY291bnQgSURzIHRoZSByb2xlIGNhbiBkZXBsb3kgdG8gKGZvciBjcm9zcy1hY2NvdW50IENESyBib290c3RyYXAgdHJ1c3QpICovXG4gIHJlYWRvbmx5IHRhcmdldEFjY291bnRJZHM/OiBzdHJpbmdbXTtcbiAgLyoqIEFkZGl0aW9uYWwgbWFuYWdlZCBwb2xpY3kgQVJOcyB0byBhdHRhY2ggKi9cbiAgcmVhZG9ubHkgbWFuYWdlZFBvbGljaWVzPzogc3RyaW5nW107XG4gIC8qKiBFbmFibGUgQmVkcm9jayBJbnZva2VNb2RlbCBwZXJtaXNzaW9uIEBkZWZhdWx0IHRydWUgKi9cbiAgcmVhZG9ubHkgZW5hYmxlQmVkcm9jaz86IGJvb2xlYW47XG4gIC8qKiBCZWRyb2NrIHJlZ2lvbiBAZGVmYXVsdCB1cy1lYXN0LTEgKi9cbiAgcmVhZG9ubHkgYmVkcm9ja1JlZ2lvbj86IHN0cmluZztcbiAgLyoqIENyZWF0ZSB0aGUgR2l0SHViIE9JREMgcHJvdmlkZXIgaWYgaXQgZG9lc24ndCBleGlzdCBpbiB0aGUgYWNjb3VudCBAZGVmYXVsdCB0cnVlICovXG4gIHJlYWRvbmx5IGNyZWF0ZVByb3ZpZGVyPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgR2l0SHViIEFjdGlvbnMgT0lEQyBwcm92aWRlciAoaWYgbm90IGFscmVhZHkgcHJlc2VudCkgYW5kIGFuIElBTSByb2xlXG4gKiB0aGF0IEdpdEh1YiBBY3Rpb25zIGNhbiBhc3N1bWUgZm9yIENESyBkZXBsb3ltZW50cyBhbmQgQmVkcm9jayBhbmFseXNpcy5cbiAqXG4gKiBEZXBsb3kgdGhpcyBpbiB5b3VyIGRlcGxveS9tYW5hZ2VtZW50IGFjY291bnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBHSEFPaWRjUm9sZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG4gIHB1YmxpYyByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEdIQU9pZGNSb2xlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgYWNjb3VudCA9IFN0YWNrLm9mKHRoaXMpLmFjY291bnQ7XG5cbiAgICAvLyBPSURDIHByb3ZpZGVyIOKAlCBjcmVhdGUgaWYgcmVxdWVzdGVkLCBvdGhlcndpc2UgaW1wb3J0IGV4aXN0aW5nXG4gICAgbGV0IHByb3ZpZGVyOiBpYW0uSU9wZW5JZENvbm5lY3RQcm92aWRlcjtcbiAgICBpZiAocHJvcHMuY3JlYXRlUHJvdmlkZXIgIT09IGZhbHNlKSB7XG4gICAgICBwcm92aWRlciA9IG5ldyBpYW0uT3BlbklkQ29ubmVjdFByb3ZpZGVyKHRoaXMsICdHaXRIdWJPaWRjJywge1xuICAgICAgICB1cmw6ICdodHRwczovL3Rva2VuLmFjdGlvbnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tJyxcbiAgICAgICAgY2xpZW50SWRzOiBbJ3N0cy5hbWF6b25hd3MuY29tJ10sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJvdmlkZXJBcm4gPSBgYXJuOmF3czppYW06OiR7YWNjb3VudH06b2lkYy1wcm92aWRlci90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbWA7XG4gICAgICBwcm92aWRlciA9IGlhbS5PcGVuSWRDb25uZWN0UHJvdmlkZXIuZnJvbU9wZW5JZENvbm5lY3RQcm92aWRlckFybih0aGlzLCAnR2l0SHViT2lkYycsIHByb3ZpZGVyQXJuKTtcbiAgICB9XG5cbiAgICAvLyBCdWlsZCBzdWJqZWN0IGNvbmRpdGlvbnNcbiAgICBjb25zdCBzdWJqZWN0czogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBicmFuY2hlcyA9IHByb3BzLmFsbG93ZWRCcmFuY2hlcyB8fCBbJ21haW4nXTtcbiAgICBmb3IgKGNvbnN0IGJyYW5jaCBvZiBicmFuY2hlcykge1xuICAgICAgc3ViamVjdHMucHVzaChgcmVwbzoke3Byb3BzLnJlcG9zaXRvcnl9OnJlZjpyZWZzL2hlYWRzLyR7YnJhbmNofWApO1xuICAgIH1cbiAgICBpZiAocHJvcHMuYWxsb3dQdWxsUmVxdWVzdHMgIT09IGZhbHNlKSB7XG4gICAgICBzdWJqZWN0cy5wdXNoKGByZXBvOiR7cHJvcHMucmVwb3NpdG9yeX06cHVsbF9yZXF1ZXN0YCk7XG4gICAgfVxuICAgIC8vIEdpdEh1YiBjaGFuZ2VzIHRoZSBzdWIgY2xhaW0gd2hlbiBhIGpvYiB1c2VzIGVudmlyb25tZW50OiBkZXBsb3ltZW50c1xuICAgIHN1YmplY3RzLnB1c2goYHJlcG86JHtwcm9wcy5yZXBvc2l0b3J5fTplbnZpcm9ubWVudDoqYCk7XG5cbiAgICAvLyBJQU0gcm9sZSB3aXRoIE9JREMgdHJ1c3RcbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdSb2xlJywge1xuICAgICAgcm9sZU5hbWU6IGBnaGEtZGVwbG95LSR7cHJvcHMucmVwb3NpdG9yeS5yZXBsYWNlKCcvJywgJy0nKX1gLFxuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLldlYklkZW50aXR5UHJpbmNpcGFsKHByb3ZpZGVyLm9wZW5JZENvbm5lY3RQcm92aWRlckFybiwge1xuICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAndG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb206YXVkJzogJ3N0cy5hbWF6b25hd3MuY29tJyxcbiAgICAgICAgfSxcbiAgICAgICAgU3RyaW5nTGlrZToge1xuICAgICAgICAgICd0b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTpzdWInOiBzdWJqZWN0cy5sZW5ndGggPT09IDEgPyBzdWJqZWN0c1swXSA6IHN1YmplY3RzLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBtYXhTZXNzaW9uRHVyYXRpb246IGNvcmUuRHVyYXRpb24uaG91cnMoMSksXG4gICAgfSk7XG5cbiAgICAvLyBDREsgZGVwbG95IHBlcm1pc3Npb25zXG4gICAgcm9sZS5hZGRUb1BvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBzaWQ6ICdDREtEZXBsb3knLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnY2xvdWRmb3JtYXRpb246KicsXG4gICAgICAgICdzc206R2V0UGFyYW1ldGVyJyxcbiAgICAgICAgJ3MzOionLFxuICAgICAgICAnaWFtOlBhc3NSb2xlJyxcbiAgICAgICAgJ3N0czpBc3N1bWVSb2xlJyxcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgIH0pKTtcblxuICAgIC8vIENESyBib290c3RyYXAgbG9va3VwXG4gICAgcm9sZS5hZGRUb1BvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBzaWQ6ICdDREtCb290c3RyYXBMb29rdXAnLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnZWNyOkdldEF1dGhvcml6YXRpb25Ub2tlbicsXG4gICAgICAgICdlY3I6QmF0Y2hDaGVja0xheWVyQXZhaWxhYmlsaXR5JyxcbiAgICAgICAgJ2VjcjpHZXREb3dubG9hZFVybEZvckxheWVyJyxcbiAgICAgICAgJ2VjcjpCYXRjaEdldEltYWdlJyxcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgIH0pKTtcblxuICAgIC8vIENyb3NzLWFjY291bnQgYXNzdW1lIChmb3IgQ0RLIGJvb3RzdHJhcCByb2xlcyBpbiB0YXJnZXQgYWNjb3VudHMpXG4gICAgaWYgKHByb3BzLnRhcmdldEFjY291bnRJZHMgJiYgcHJvcHMudGFyZ2V0QWNjb3VudElkcy5sZW5ndGggPiAwKSB7XG4gICAgICByb2xlLmFkZFRvUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgc2lkOiAnQ3Jvc3NBY2NvdW50QXNzdW1lJyxcbiAgICAgICAgYWN0aW9uczogWydzdHM6QXNzdW1lUm9sZSddLFxuICAgICAgICByZXNvdXJjZXM6IHByb3BzLnRhcmdldEFjY291bnRJZHMubWFwKGFjY3QgPT5cbiAgICAgICAgICBgYXJuOmF3czppYW06OiR7YWNjdH06cm9sZS9jZGstKmAsXG4gICAgICAgICksXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgLy8gQmVkcm9jayBwZXJtaXNzaW9uc1xuICAgIGlmIChwcm9wcy5lbmFibGVCZWRyb2NrICE9PSBmYWxzZSkge1xuICAgICAgY29uc3QgYmVkcm9ja1JlZ2lvbiA9IHByb3BzLmJlZHJvY2tSZWdpb24gfHwgJ3VzLWVhc3QtMSc7XG4gICAgICByb2xlLmFkZFRvUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgc2lkOiAnQmVkcm9ja0FuYWx5c2lzJyxcbiAgICAgICAgYWN0aW9uczogWydiZWRyb2NrOkludm9rZU1vZGVsJ10sXG4gICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOmJlZHJvY2s6JHtiZWRyb2NrUmVnaW9ufTo6Zm91bmRhdGlvbi1tb2RlbC8qYF0sXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgLy8gQWRkaXRpb25hbCBtYW5hZ2VkIHBvbGljaWVzXG4gICAgaWYgKHByb3BzLm1hbmFnZWRQb2xpY2llcykge1xuICAgICAgZm9yIChjb25zdCBwb2xpY3lBcm4gb2YgcHJvcHMubWFuYWdlZFBvbGljaWVzKSB7XG4gICAgICAgIHJvbGUuYWRkTWFuYWdlZFBvbGljeShpYW0uTWFuYWdlZFBvbGljeS5mcm9tTWFuYWdlZFBvbGljeUFybih0aGlzLCBgUG9saWN5JHtwb2xpY3lBcm4uc3BsaXQoJy8nKS5wb3AoKX1gLCBwb2xpY3lBcm4pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnJvbGUgPSByb2xlO1xuICAgIHRoaXMucm9sZUFybiA9IHJvbGUucm9sZUFybjtcbiAgfVxufVxuIl19
@@ -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.1" };
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.1" };
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.1" };
30
+ GHAWave[_a] = { fqn: "@raindancers/agentl.GHAWave", version: "0.0.3" };
31
31
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hhLXdhdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZ2hhLXdhdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFZQTs7O0dBR0c7QUFDSCxNQUFhLE9BQU87SUFJbEIsWUFBWSxFQUFVO1FBRk4sV0FBTSxHQUFpQixFQUFFLENBQUM7UUFHeEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxLQUFZLEVBQUUsT0FBeUI7UUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsS0FBSztZQUNaLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxJQUFJLEVBQUU7U0FDcEMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOztBQW5CSCwwQkFvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcblxuZXhwb3J0IGludGVyZmFjZSBBZGRTdGFja09wdGlvbnMge1xuICAvKiogU3RhY2tzIHdpdGhpbiB0aGlzIHdhdmUgdGhhdCB0aGlzIHN0YWNrIGRlcGVuZHMgb24gKi9cbiAgcmVhZG9ubHkgZGVwZW5kc09uPzogU3RhY2tbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFja0VudHJ5IHtcbiAgcmVhZG9ubHkgc3RhY2s6IFN0YWNrO1xuICByZWFkb25seSBkZXBlbmRzT246IFN0YWNrW107XG59XG5cbi8qKlxuICogQSB3YXZlIGlzIGEgZ3JvdXAgb2Ygc3RhY2tzIHRoYXQgZGVwbG95IGluIHBhcmFsbGVsLlxuICogV2F2ZXMgd2l0aGluIGEgc3RhZ2UgZGVwbG95IHNlcXVlbnRpYWxseSAod2F2ZSAxIGNvbXBsZXRlcyBiZWZvcmUgd2F2ZSAyIHN0YXJ0cykuXG4gKi9cbmV4cG9ydCBjbGFzcyBHSEFXYXZlIHtcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBzdGFja3M6IFN0YWNrRW50cnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlkID0gaWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgc3RhY2sgdG8gdGhpcyB3YXZlLiBTdGFja3Mgd2l0aGluIGEgd2F2ZSBkZXBsb3kgaW4gcGFyYWxsZWwuXG4gICAqIEBwYXJhbSBzdGFjayBBIHN0YW5kYXJkIENESyBTdGFja1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCBkZXBlbmRlbmNpZXMgb24gb3RoZXIgc3RhY2tzIHdpdGhpbiB0aGlzIHdhdmVcbiAgICovXG4gIHB1YmxpYyBhZGRTdGFjayhzdGFjazogU3RhY2ssIG9wdGlvbnM/OiBBZGRTdGFja09wdGlvbnMpOiBTdGFjayB7XG4gICAgdGhpcy5zdGFja3MucHVzaCh7XG4gICAgICBzdGFjazogc3RhY2ssXG4gICAgICBkZXBlbmRzT246IG9wdGlvbnM/LmRlcGVuZHNPbiB8fCBbXSxcbiAgICB9KTtcbiAgICByZXR1cm4gc3RhY2s7XG4gIH1cbn1cbiJdfQ==
@@ -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;
@@ -24,8 +25,10 @@ export interface GHAWorkflowConfig {
24
25
  readonly deployConcurrency?: number;
25
26
  /** Which stage to diff on PRs @default first stage (index 0) */
26
27
  readonly diffStageIndex?: number;
27
- /** Path filters for triggering workflows. If set, workflows only trigger on changes matching these paths (e.g. ['src/**', 'package.json']). */
28
- readonly paths?: string[];
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']). */
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.
@@ -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.
@@ -14,11 +15,11 @@ function generateWorkflows(stages, config) {
14
15
  fs.writeFileSync(path.join(outputDir, 'deploy.yml'), buildDeployWorkflow(stages, config));
15
16
  }
16
17
  function buildPathsBlock(config) {
17
- if (!config.paths || config.paths.length === 0) {
18
+ if (!config.triggerDeployPaths || config.triggerDeployPaths.length === 0) {
18
19
  return [];
19
20
  }
20
21
  const result = [' paths:'];
21
- for (const p of config.paths) {
22
+ for (const p of config.triggerDeployPaths) {
22
23
  result.push(' - \'' + p + '\'');
23
24
  }
24
25
  return result;
@@ -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);
@@ -42,6 +44,7 @@ function buildPRWorkflow(stages, config) {
42
44
  ' fi',
43
45
  ].join('\n')).join('\n');
44
46
  const lines = [
47
+ '# ~~ Generated by @raindancers/agentl. To modify, edit your CDK app and run "npx cdk synth".',
45
48
  'name: PR Review - Diff & Analysis',
46
49
  '',
47
50
  'on:',
@@ -56,7 +59,7 @@ function buildPRWorkflow(stages, config) {
56
59
  '',
57
60
  'jobs:',
58
61
  ' review:',
59
- ' runs-on: ubuntu-latest',
62
+ ' runs-on: ' + runsOn,
60
63
  ' steps:',
61
64
  ' - uses: actions/checkout@' + ACTIONS_VERSION,
62
65
  '',
@@ -113,7 +116,9 @@ function buildDeployWorkflow(stages, config) {
113
116
  const synthCmd = config.synthCommand || 'npx cdk synth';
114
117
  const concurrency = config.deployConcurrency || 5;
115
118
  const branch = config.deployBranch || 'main';
119
+ const runsOn = config.runnerSize || shared_1.RunnerSize.STANDARD;
116
120
  const lines = [
121
+ '# ~~ Generated by @raindancers/agentl. To modify, edit your CDK app and run "npx cdk synth".',
117
122
  'name: Deploy',
118
123
  '',
119
124
  'on:',
@@ -131,7 +136,7 @@ function buildDeployWorkflow(stages, config) {
131
136
  '',
132
137
  'jobs:',
133
138
  ' synth:',
134
- ' runs-on: ubuntu-latest',
139
+ ' runs-on: ' + runsOn,
135
140
  ' steps:',
136
141
  ' - uses: actions/checkout@' + ACTIONS_VERSION,
137
142
  '',
@@ -164,7 +169,7 @@ function buildDeployWorkflow(stages, config) {
164
169
  const stacks = wave.stacks.map(e => e.stack.stackName).join(' ');
165
170
  deploySteps.push('', ' - name: "🌊 ' + wave.id + '"', ' run: npx cdk deploy ' + stacks + ' --require-approval never --concurrency ' + concurrency + ' --app cdk.out/');
166
171
  }
167
- lines.push('', ' ' + stageJobId + ':', ' name: "🚀 ' + stage.id + '"', ' runs-on: ubuntu-latest', ' needs: ' + previousJobId);
172
+ lines.push('', ' ' + stageJobId + ':', ' name: "🚀 ' + stage.id + '"', ' runs-on: ' + runsOn, ' needs: ' + previousJobId);
168
173
  if (stage.environment) {
169
174
  lines.push(' environment: ' + stage.environment);
170
175
  }
@@ -173,4 +178,4 @@ function buildDeployWorkflow(stages, config) {
173
178
  }
174
179
  return lines.join('\n') + '\n';
175
180
  }
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2hhLXdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2doYS13b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXNDQSw4Q0FNQztBQTVDRCx5QkFBeUI7QUFDekIsNkJBQTZCO0FBZ0M3QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUM7QUFFN0I7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxNQUFrQixFQUFFLE1BQXlCO0lBQzdFLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksbUJBQW1CLENBQUM7SUFDMUQsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUU3QyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6RixFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxNQUF5QjtJQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lB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aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEdIQVN0YWdlIH0gZnJvbSAnLi9naGEtc3RhZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdIQVdvcmtmbG93Q29uZmlnIHtcbiAgLyoqIERpcmVjdG9yeSB0byB3cml0ZSB3b3JrZmxvdyBmaWxlcyBAZGVmYXVsdCAuZ2l0aHViL3dvcmtmbG93cyAqL1xuICByZWFkb25seSBvdXRwdXREaXI/OiBzdHJpbmc7XG4gIC8qKiBBV1MgcmVnaW9uIGZvciBDREsgb3BlcmF0aW9ucyAqL1xuICByZWFkb25seSBhd3NSZWdpb246IHN0cmluZztcbiAgLyoqIElBTSByb2xlIEFSTiB0byBhc3N1bWUgZm9yIGRlcGxveW1lbnRzIChPSURDKSAqL1xuICByZWFkb25seSBkZXBsb3lSb2xlQXJuOiBzdHJpbmc7XG4gIC8qKiBJQU0gcm9sZSBBUk4gZm9yIEJlZHJvY2sgYW5hbHlzaXMgQGRlZmF1bHQgc2FtZSBhcyBkZXBsb3lSb2xlQXJuICovXG4gIHJlYWRvbmx5IGJlZHJvY2tSb2xlQXJuPzogc3RyaW5nO1xuICAvKiogQmVkcm9jayByZWdpb24gQGRlZmF1bHQgdXMtZWFzdC0xICovXG4gIHJlYWRvbmx5IGJlZHJvY2tSZWdpb24/OiBzdHJpbmc7XG4gIC8qKiBOb2RlLmpzIHZlcnNpb24gQGRlZmF1bHQgMjIgKi9cbiAgcmVhZG9ubHkgbm9kZVZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBJbnN0YWxsIGNvbW1hbmQgQGRlZmF1bHQgeWFybiBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlICovXG4gIHJlYWRvbmx5IGluc3RhbGxDb21tYW5kPzogc3RyaW5nO1xuICAvKiogU3ludGggY29tbWFuZCBAZGVmYXVsdCBucHggY2RrIHN5bnRoICovXG4gIHJlYWRvbmx5IHN5bnRoQ29tbWFuZD86IHN0cmluZztcbiAgLyoqIEJyYW5jaCB0aGF0IHRyaWdnZXJzIGRlcGxveSBAZGVmYXVsdCBtYWluICovXG4gIHJlYWRvbmx5IGRlcGxveUJyYW5jaD86IHN0cmluZztcbiAgLyoqIEVuYWJsZSBCZWRyb2NrIGFuYWx5c2lzIG9uIFBScyBAZGVmYXVsdCB0cnVlICovXG4gIHJlYWRvbmx5IGVuYWJsZUJlZHJvY2tBbmFseXNpcz86IGJvb2xlYW47XG4gIC8qKiBDb25jdXJyZW5jeSBmb3IgY2RrIGRlcGxveSBAZGVmYXVsdCA1ICovXG4gIHJlYWRvbmx5IGRlcGxveUNvbmN1cnJlbmN5PzogbnVtYmVyO1xuICAvKiogV2hpY2ggc3RhZ2UgdG8gZGlmZiBvbiBQUnMgQGRlZmF1bHQgZmlyc3Qgc3RhZ2UgKGluZGV4IDApICovXG4gIHJlYWRvbmx5IGRpZmZTdGFnZUluZGV4PzogbnVtYmVyO1xuICAvKiogUGF0aCBmaWx0ZXJzIGZvciB0cmlnZ2VyaW5nIHdvcmtmbG93cy4gSWYgc2V0LCB3b3JrZmxvd3Mgb25seSB0cmlnZ2VyIG9uIGNoYW5nZXMgbWF0Y2hpbmcgdGhlc2UgcGF0aHMgKGUuZy4gWydzcmMvKionLCAncGFja2FnZS5qc29uJ10pLiAqL1xuICByZWFkb25seSBwYXRocz86IHN0cmluZ1tdO1xufVxuXG5jb25zdCBBQ1RJT05TX1ZFUlNJT04gPSAndjYnO1xuXG4vKipcbiAqIEdlbmVyYXRlIEdpdEh1YiBBY3Rpb25zIHdvcmtmbG93cyBmb3IgdGhlIHBpcGVsaW5lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVXb3JrZmxvd3Moc3RhZ2VzOiBHSEFTdGFnZVtdLCBjb25maWc6IEdIQVdvcmtmbG93Q29uZmlnKTogdm9pZCB7XG4gIGNvbnN0IG91dHB1dERpciA9IGNvbmZpZy5vdXRwdXREaXIgfHwgJy5naXRodWIvd29ya2Zsb3dzJztcbiAgZnMubWtkaXJTeW5jKG91dHB1dERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4ob3V0cHV0RGlyLCAncHItcmV2aWV3LnltbCcpLCBidWlsZFBSV29ya2Zsb3coc3RhZ2VzLCBjb25maWcpKTtcbiAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4ob3V0cHV0RGlyLCAnZGVwbG95LnltbCcpLCBidWlsZERlcGxveVdvcmtmbG93KHN0YWdlcywgY29uZmlnKSk7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkUGF0aHNCbG9jayhjb25maWc6IEdIQVdvcmtmbG93Q29uZmlnKTogc3RyaW5nW10ge1xuICBpZiAoIWNvbmZpZy5wYXRocyB8fCBjb25maWcucGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbJyAgICBwYXRoczonXTtcbiAgZm9yIChjb25zdCBwIG9mIGNvbmZpZy5wYXRocykge1xuICAgIHJlc3VsdC5wdXNoKCcgICAgICAtIFxcJycgKyBwICsgJ1xcJycpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkUFJXb3JrZmxvdyhzdGFnZXM6IEdIQVN0YWdlW10sIGNvbmZpZzogR0hBV29ya2Zsb3dDb25maWcpOiBzdHJpbmcge1xuICBjb25zdCBub2RlVmVyc2lvbiA9IGNvbmZpZy5ub2RlVmVyc2lvbiB8fCAnMjInO1xuICBjb25zdCBpbnN0YWxsQ21kID0gY29uZmlnLmluc3RhbGxDb21tYW5kIHx8ICd5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUnO1xuICBjb25zdCBzeW50aENtZCA9IGNvbmZpZy5zeW50aENvbW1hbmQgfHwgJ25weCBjZGsgc3ludGgnO1xuICBjb25zdCBiZWRyb2NrUmVnaW9uID0gY29uZmlnLmJlZHJvY2tSZWdpb24gfHwgJ3VzLWVhc3QtMSc7XG4gIGNvbnN0IGJlZHJvY2tSb2xlQXJuID0gY29uZmlnLmJlZHJvY2tSb2xlQXJuIHx8IGNvbmZpZy5kZXBsb3lSb2xlQXJuO1xuICBjb25zdCBlbmFibGVCZWRyb2NrID0gY29uZmlnLmVuYWJsZUJlZHJvY2tBbmFseXNpcyAhPT0gZmFsc2U7XG4gIGNvbnN0IGJyYW5jaCA9IGNvbmZpZy5kZXBsb3lCcmFuY2ggfHwgJ21haW4nO1xuXG4gIGNvbnN0IGRpZmZTdGFnZUlkeCA9IGNvbmZpZy5kaWZmU3RhZ2VJbmRleCA/PyAxO1xuICBjb25zdCBkaWZmU3RhZ2UgPSBzdGFnZXNbZGlmZlN0YWdlSWR4XSB8fCBzdGFnZXNbMF07XG4gIGNvbnN0IGRpZmZTdGFja05hbWVzID0gZGlmZlN0YWdlLmFsbFN0YWNrcygpLm1hcChzdCA9PiBzdC5zdGFja05hbWUpO1xuXG4gIGNvbnN0IGRpZmZTdGVwcyA9IGRpZmZTdGFja05hbWVzLm1hcChuYW1lID0+XG4gICAgW1xuICAgICAgJyAgICAgICAgICBESUZGX09VVFBVVD0kKG5weCBjZGsgZGlmZiAnICsgbmFtZSArICcgLS1leGNsdXNpdmVseSAyPiYxIHx8IHRydWUpJyxcbiAgICAgICcgICAgICAgICAgaWYgZWNobyBcIiRESUZGX09VVFBVVFwiIHwgZ3JlcCAtcSBcIlRoZXJlIHdlcmUgZGlmZmVyZW5jZXNcIjsgdGhlbicsXG4gICAgICAnICAgICAgICAgICAgSEFTX0NIQU5HRVM9dHJ1ZScsXG4gICAgICAnICAgICAgICAgICAgZWNobyBcIiRESUZGX09VVFBVVFwiID4gXCJjZGsub3V0L2RpZmZzLycgKyBuYW1lICsgJy5kaWZmXCInLFxuICAgICAgJyAgICAgICAgICBmaScsXG4gICAgXS5qb2luKCdcXG4nKSxcbiAgKS5qb2luKCdcXG4nKTtcblxuICBjb25zdCBsaW5lczogc3RyaW5nW10gPSBbXG4gICAgJ25hbWU6IFBSIFJldmlldyAtIERpZmYgJiBBbmFseXNpcycsXG4gICAgJycsXG4gICAgJ29uOicsXG4gICAgJyAgcHVsbF9yZXF1ZXN0OicsXG4gICAgJyAgICBicmFuY2hlczogWycgKyBicmFuY2ggKyAnXScsXG4gICAgLi4uYnVpbGRQYXRoc0Jsb2NrKGNvbmZpZyksXG4gICAgJycsXG4gICAgJ3Blcm1pc3Npb25zOicsXG4gICAgJyAgaWQtdG9rZW46IHdyaXRlJyxcbiAgICAnICBjb250ZW50czogcmVhZCcsXG4gICAgJyAgcHVsbC1yZXF1ZXN0czogd3JpdGUnLFxuICAgICcnLFxuICAgICdqb2JzOicsXG4gICAgJyAgcmV2aWV3OicsXG4gICAgJyAgICBydW5zLW9uOiB1YnVudHUtbGF0ZXN0JyxcbiAgICAnICAgIHN0ZXBzOicsXG4gICAgJyAgICAgIC0gdXNlczogYWN0aW9ucy9jaGVja291dEAnICsgQUNUSU9OU19WRVJTSU9OLFxuICAgICcnLFxuICAgICcgICAgICAtIHVzZXM6IGFjdGlvbnMvc2V0dXAtbm9kZUAnICsgQUNUSU9OU19WRVJTSU9OLFxuICAgICcgICAgICAgIHdpdGg6JyxcbiAgICAnICAgICAgICAgIG5vZGUtdmVyc2lvbjogXFwnJyArIG5vZGVWZXJzaW9uICsgJ1xcJycsXG4gICAgJyAgICAgICAgICBjYWNoZTogeWFybicsXG4gICAgJycsXG4gICAgJyAgICAgIC0gcnVuOiAnICsgaW5zdGFsbENtZCxcbiAgICAnJyxcbiAgICAnICAgICAgLSB1c2VzOiBhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0JyxcbiAgICAnICAgICAgICB3aXRoOicsXG4gICAgJyAgICAgICAgICByb2xlLXRvLWFzc3VtZTogJyArIGNvbmZpZy5kZXBsb3lSb2xlQXJuLFxuICAgICcgICAgICAgICAgYXdzLXJlZ2lvbjogJyArIGNvbmZpZy5hd3NSZWdpb24sXG4gICAgJycsXG4gICAgJyAgICAgIC0gbmFtZTogQ0RLIFN5bnRoJyxcbiAgICAnICAgICAgICBydW46ICcgKyBzeW50aENtZCxcbiAgICAnJyxcbiAgICAnICAgICAgLSBuYW1lOiBDREsgRGlmZiAoJyArIGRpZmZTdGFnZS5pZCArICcpJyxcbiAgICAnICAgICAgICBpZDogZGlmZicsXG4gICAgJyAgICAgICAgcnVuOiB8JyxcbiAgICAnICAgICAgICAgIG1rZGlyIC1wIGNkay5vdXQvZGlmZnMnLFxuICAgICcgICAgICAgICAgSEFTX0NIQU5HRVM9ZmFsc2UnLFxuICAgIGRpZmZTdGVwcyxcbiAgICAnICAgICAgICAgIGVjaG8gXCJoYXNfY2hhbmdlcz0kSEFTX0NIQU5HRVNcIiA+PiAkR0lUSFVCX09VVFBVVCcsXG4gICAgJycsXG4gICAgJyAgICAgIC0gbmFtZTogR2VuZXJhdGUgRGlmZiBTdW1tYXJ5JyxcbiAgICAnICAgICAgICBpZjogc3RlcHMuZGlmZi5vdXRwdXRzLmhhc19jaGFuZ2VzID09IFxcJ3RydWVcXCcnLFxuICAgICcgICAgICAgIHJ1bjogfCcsXG4gICAgJyAgICAgICAgICBlY2hvIFwiIyMg8J+TiyBDREsgRGlmZiBTdW1tYXJ5ICgnICsgZGlmZlN0YWdlLmlkICsgJylcIiA+IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICAgJyAgICAgICAgICBlY2hvIFwiXCIgPj4gY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgICAnICAgICAgICAgIGZvciBmIGluIGNkay5vdXQvZGlmZnMvKi5kaWZmOyBkbycsXG4gICAgJyAgICAgICAgICAgIFsgLWYgXCIkZlwiIF0gfHwgY29udGludWUnLFxuICAgICcgICAgICAgICAgICBTVEFDSz0kKGJhc2VuYW1lIFwiJGZcIiAuZGlmZiknLFxuICAgICcgICAgICAgICAgICBlY2hvIFwiPGRldGFpbHM+XCIgPj4gY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgICAnICAgICAgICAgICAgZWNobyBcIjxzdW1tYXJ5PvCfk6YgJFNUQUNLPC9zdW1tYXJ5PlwiID4+IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICAgJyAgICAgICAgICAgIGVjaG8gXCJcIiA+PiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICAgICcgICAgICAgICAgICBlY2hvIFxcJ2BgYGRpZmZcXCcgPj4gY2RrLm91dC9kaWZmcy9jb21tZW50Lm1kJyxcbiAgICAnICAgICAgICAgICAgY2F0IFwiJGZcIiA+PiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICAgICcgICAgICAgICAgICBlY2hvIFxcJ2BgYFxcJyA+PiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICAgICcgICAgICAgICAgICBlY2hvIFwiPC9kZXRhaWxzPlwiID4+IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICAgJyAgICAgICAgICAgIGVjaG8gXCJcIiA+PiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICAgICcgICAgICAgICAgZG9uZScsXG4gIF07XG5cbiAgaWYgKGVuYWJsZUJlZHJvY2spIHtcbiAgICBsaW5lcy5wdXNoKFxuICAgICAgJycsXG4gICAgICAnICAgICAgLSB1c2VzOiBhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0JyxcbiAgICAgICcgICAgICAgIGlmOiBzdGVwcy5kaWZmLm91dHB1dHMuaGFzX2NoYW5nZXMgPT0gXFwndHJ1ZVxcJycsXG4gICAgICAnICAgICAgICB3aXRoOicsXG4gICAgICAnICAgICAgICAgIHJvbGUtdG8tYXNzdW1lOiAnICsgYmVkcm9ja1JvbGVBcm4sXG4gICAgICAnICAgICAgICAgIGF3cy1yZWdpb246ICcgKyBiZWRyb2NrUmVnaW9uLFxuICAgICAgJycsXG4gICAgICAnICAgICAgLSBuYW1lOiBXZWxsLUFyY2hpdGVjdGVkIEFuYWx5c2lzJyxcbiAgICAgICcgICAgICAgIGlmOiBzdGVwcy5kaWZmLm91dHB1dHMuaGFzX2NoYW5nZXMgPT0gXFwndHJ1ZVxcJycsXG4gICAgICAnICAgICAgICBydW46IHwnLFxuICAgICAgJyAgICAgICAgICBucHggYWdlbnRsIGFuYWx5emUgLS1vdXRwdXQgY2RrLm91dC9kaWZmcy9hbmFseXNpcy5tZCcsXG4gICAgICAnICAgICAgICAgIGNhdCBjZGsub3V0L2RpZmZzL2FuYWx5c2lzLm1kID4+IGNkay5vdXQvZGlmZnMvY29tbWVudC5tZCcsXG4gICAgKTtcbiAgfVxuXG4gIGxpbmVzLnB1c2goXG4gICAgJycsXG4gICAgJyAgICAgIC0gbmFtZTogUG9zdCBQUiBDb21tZW50JyxcbiAgICAnICAgICAgICBpZjogc3RlcHMuZGlmZi5vdXRwdXRzLmhhc19jaGFuZ2VzID09IFxcJ3RydWVcXCcnLFxuICAgICcgICAgICAgIHVzZXM6IG1hcm9jY2hpbm8vc3RpY2t5LXB1bGwtcmVxdWVzdC1jb21tZW50QHYyJyxcbiAgICAnICAgICAgICB3aXRoOicsXG4gICAgJyAgICAgICAgICBwYXRoOiBjZGsub3V0L2RpZmZzL2NvbW1lbnQubWQnLFxuICApO1xuXG4gIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKSArICdcXG4nO1xufVxuXG5mdW5jdGlvbiBidWlsZERlcGxveVdvcmtmbG93KHN0YWdlczogR0hBU3RhZ2VbXSwgY29uZmlnOiBHSEFXb3JrZmxvd0NvbmZpZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vZGVWZXJzaW9uID0gY29uZmlnLm5vZGVWZXJzaW9uIHx8ICcyMic7XG4gIGNvbnN0IGluc3RhbGxDbWQgPSBjb25maWcuaW5zdGFsbENvbW1hbmQgfHwgJ3lhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZSc7XG4gIGNvbnN0IHN5bnRoQ21kID0gY29uZmlnLnN5bnRoQ29tbWFuZCB8fCAnbnB4IGNkayBzeW50aCc7XG4gIGNvbnN0IGNvbmN1cnJlbmN5ID0gY29uZmlnLmRlcGxveUNvbmN1cnJlbmN5IHx8IDU7XG4gIGNvbnN0IGJyYW5jaCA9IGNvbmZpZy5kZXBsb3lCcmFuY2ggfHwgJ21haW4nO1xuXG4gIGNvbnN0IGxpbmVzOiBzdHJpbmdbXSA9IFtcbiAgICAnbmFtZTogRGVwbG95JyxcbiAgICAnJyxcbiAgICAnb246JyxcbiAgICAnICBwdXNoOicsXG4gICAgJyAgICBicmFuY2hlczogWycgKyBicmFuY2ggKyAnXScsXG4gICAgLi4uYnVpbGRQYXRoc0Jsb2NrKGNvbmZpZyksXG4gICAgJycsXG4gICAgJ3Blcm1pc3Npb25zOicsXG4gICAgJyAgaWQtdG9rZW46IHdyaXRlJyxcbiAgICAnICBjb250ZW50czogcmVhZCcsXG4gICAgJycsXG4gICAgJ2NvbmN1cnJlbmN5OicsXG4gICAgJyAgZ3JvdXA6IGRlcGxveScsXG4gICAgJyAgY2FuY2VsLWluLXByb2dyZXNzOiBmYWxzZScsXG4gICAgJycsXG4gICAgJ2pvYnM6JyxcbiAgICAnICBzeW50aDonLFxuICAgICcgICAgcnVucy1vbjogdWJ1bnR1LWxhdGVzdCcsXG4gICAgJyAgICBzdGVwczonLFxuICAgICcgICAgICAtIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAJyArIEFDVElPTlNfVkVSU0lPTixcbiAgICAnJyxcbiAgICAnICAgICAgLSB1c2VzOiBhY3Rpb25zL3NldHVwLW5vZGVAJyArIEFDVElPTlNfVkVSU0lPTixcbiAgICAnICAgICAgICB3aXRoOicsXG4gICAgJyAgICAgICAgICBub2RlLXZlcnNpb246IFxcJycgKyBub2RlVmVyc2lvbiArICdcXCcnLFxuICAgICcgICAgICAgICAgY2FjaGU6IHlhcm4nLFxuICAgICcnLFxuICAgICcgICAgICAtIHJ1bjogJyArIGluc3RhbGxDbWQsXG4gICAgJycsXG4gICAgJyAgICAgIC0gdXNlczogYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2NCcsXG4gICAgJyAgICAgICAgd2l0aDonLFxuICAgICcgICAgICAgICAgcm9sZS10by1hc3N1bWU6ICcgKyBjb25maWcuZGVwbG95Um9sZUFybixcbiAgICAnICAgICAgICAgIGF3cy1yZWdpb246ICcgKyBjb25maWcuYXdzUmVnaW9uLFxuICAgICcnLFxuICAgICcgICAgICAtIG5hbWU6IENESyBTeW50aCcsXG4gICAgJyAgICAgICAgcnVuOiAnICsgc3ludGhDbWQsXG4gICAgJycsXG4gICAgJyAgICAgIC0gdXNlczogYWN0aW9ucy91cGxvYWQtYXJ0aWZhY3RAdjQnLFxuICAgICcgICAgICAgIHdpdGg6JyxcbiAgICAnICAgICAgICAgIG5hbWU6IGNkay1vdXQnLFxuICAgICcgICAgICAgICAgcGF0aDogY2RrLm91dC8nLFxuICBdO1xuXG4gIGxldCBwcmV2aW91c0pvYklkID0gJ3N5bnRoJztcblxuICBmb3IgKGxldCBzID0gMDsgcyA8IHN0YWdlcy5sZW5ndGg7IHMrKykge1xuICAgIGNvbnN0IHN0YWdlID0gc3RhZ2VzW3NdO1xuICAgIGNvbnN0IHN0YWdlSm9iSWQgPSAnZGVwbG95XycgKyBzdGFnZS5pZDtcblxuICAgIGNvbnN0IGRlcGxveVN0ZXBzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qgd2F2ZSBvZiBzdGFnZS53YXZlcykge1xuICAgICAgY29uc3Qgc3RhY2tzID0gd2F2ZS5zdGFja3MubWFwKGUgPT4gZS5zdGFjay5zdGFja05hbWUpLmpvaW4oJyAnKTtcbiAgICAgIGRlcGxveVN0ZXBzLnB1c2goXG4gICAgICAgICcnLFxuICAgICAgICAnICAgICAgLSBuYW1lOiBcIvCfjIogJyArIHdhdmUuaWQgKyAnXCInLFxuICAgICAgICAnICAgICAgICBydW46IG5weCBjZGsgZGVwbG95ICcgKyBzdGFja3MgKyAnIC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlciAtLWNvbmN1cnJlbmN5ICcgKyBjb25jdXJyZW5jeSArICcgLS1hcHAgY2RrLm91dC8nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsaW5lcy5wdXNoKFxuICAgICAgJycsXG4gICAgICAnICAnICsgc3RhZ2VKb2JJZCArICc6JyxcbiAgICAgICcgICAgbmFtZTogXCLwn5qAICcgKyBzdGFnZS5pZCArICdcIicsXG4gICAgICAnICAgIHJ1bnMtb246IHVidW50dS1sYXRlc3QnLFxuICAgICAgJyAgICBuZWVkczogJyArIHByZXZpb3VzSm9iSWQsXG4gICAgKTtcblxuICAgIGlmIChzdGFnZS5lbnZpcm9ubWVudCkge1xuICAgICAgbGluZXMucHVzaCgnICAgIGVudmlyb25tZW50OiAnICsgc3RhZ2UuZW52aXJvbm1lbnQpO1xuICAgIH1cblxuICAgIGxpbmVzLnB1c2goXG4gICAgICAnICAgIHN0ZXBzOicsXG4gICAgICAnICAgICAgLSB1c2VzOiBhY3Rpb25zL2NoZWNrb3V0QCcgKyBBQ1RJT05TX1ZFUlNJT04sXG4gICAgICAnJyxcbiAgICAgICcgICAgICAtIHVzZXM6IGFjdGlvbnMvc2V0dXAtbm9kZUAnICsgQUNUSU9OU19WRVJTSU9OLFxuICAgICAgJyAgICAgICAgd2l0aDonLFxuICAgICAgJyAgICAgICAgICBub2RlLXZlcnNpb246IFxcJycgKyBub2RlVmVyc2lvbiArICdcXCcnLFxuICAgICAgJyAgICAgICAgICBjYWNoZTogeWFybicsXG4gICAgICAnJyxcbiAgICAgICcgICAgICAtIHJ1bjogJyArIGluc3RhbGxDbWQsXG4gICAgICAnJyxcbiAgICAgICcgICAgICAtIHVzZXM6IGFjdGlvbnMvZG93bmxvYWQtYXJ0aWZhY3RAdjQnLFxuICAgICAgJyAgICAgICAgd2l0aDonLFxuICAgICAgJyAgICAgICAgICBuYW1lOiBjZGstb3V0JyxcbiAgICAgICcgICAgICAgICAgcGF0aDogY2RrLm91dC8nLFxuICAgICAgJycsXG4gICAgICAnICAgICAgLSB1c2VzOiBhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0JyxcbiAgICAgICcgICAgICAgIHdpdGg6JyxcbiAgICAgICcgICAgICAgICAgcm9sZS10by1hc3N1bWU6ICcgKyBjb25maWcuZGVwbG95Um9sZUFybixcbiAgICAgICcgICAgICAgICAgYXdzLXJlZ2lvbjogJyArIGNvbmZpZy5hd3NSZWdpb24sXG4gICAgICAuLi5kZXBsb3lTdGVwcyxcbiAgICApO1xuXG4gICAgcHJldmlvdXNKb2JJZCA9IHN0YWdlSm9iSWQ7XG4gIH1cblxuICByZXR1cm4gbGluZXMuam9pbignXFxuJykgKyAnXFxuJztcbn1cbiJdfQ==
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/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './gha-stage';
3
3
  export * from './gha-wave';
4
4
  export * from './gha-workflow';
5
5
  export * from './gha-oidc-role';
6
+ export * from './gha-codebuild-trigger';
6
7
  export * from './shared';
7
8
  export * from './utils/json-patch';
8
9
  export * from './diff';
package/lib/index.js CHANGED
@@ -20,9 +20,10 @@ __exportStar(require("./gha-stage"), exports);
20
20
  __exportStar(require("./gha-wave"), exports);
21
21
  __exportStar(require("./gha-workflow"), exports);
22
22
  __exportStar(require("./gha-oidc-role"), exports);
23
+ __exportStar(require("./gha-codebuild-trigger"), exports);
23
24
  __exportStar(require("./shared"), exports);
24
25
  __exportStar(require("./utils/json-patch"), exports);
25
26
  // Analysis
26
27
  __exportStar(require("./diff"), exports);
27
28
  __exportStar(require("./bedrock-analysis"), exports);
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdCQUFnQjtBQUNoQixpREFBK0I7QUFDL0IsOENBQTRCO0FBQzVCLDZDQUEyQjtBQUMzQixpREFBK0I7QUFDL0Isa0RBQWdDO0FBQ2hDLDJDQUF5QjtBQUN6QixxREFBbUM7QUFFbkMsV0FBVztBQUNYLHlDQUF1QjtBQUN2QixxREFBbUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3JlIHBpcGVsaW5lXG5leHBvcnQgKiBmcm9tICcuL2doYS1waXBlbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL2doYS1zdGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL2doYS13YXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2hhLXdvcmtmbG93JztcbmV4cG9ydCAqIGZyb20gJy4vZ2hhLW9pZGMtcm9sZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2pzb24tcGF0Y2gnO1xuXG4vLyBBbmFseXNpc1xuZXhwb3J0ICogZnJvbSAnLi9kaWZmJztcbmV4cG9ydCAqIGZyb20gJy4vYmVkcm9jay1hbmFseXNpcyc7XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdCQUFnQjtBQUNoQixpREFBK0I7QUFDL0IsOENBQTRCO0FBQzVCLDZDQUEyQjtBQUMzQixpREFBK0I7QUFDL0Isa0RBQWdDO0FBQ2hDLDBEQUF3QztBQUN4QywyQ0FBeUI7QUFDekIscURBQW1DO0FBRW5DLFdBQVc7QUFDWCx5Q0FBdUI7QUFDdkIscURBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29yZSBwaXBlbGluZVxuZXhwb3J0ICogZnJvbSAnLi9naGEtcGlwZWxpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9naGEtc3RhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9naGEtd2F2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2doYS13b3JrZmxvdyc7XG5leHBvcnQgKiBmcm9tICcuL2doYS1vaWRjLXJvbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9naGEtY29kZWJ1aWxkLXRyaWdnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9qc29uLXBhdGNoJztcblxuLy8gQW5hbHlzaXNcbmV4cG9ydCAqIGZyb20gJy4vZGlmZic7XG5leHBvcnQgKiBmcm9tICcuL2JlZHJvY2stYW5hbHlzaXMnO1xuIl19
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNZXJtYWlkRGlhZ3JhbU91dHB1dCB7XG4gIC8qKlxuICAgKiBUaGUgcGF0aCB3aGVyZSB0aGUgTWVybWFpZCBkaWFncmFtIHdpbGwgYmUgc2F2ZWQuIElmIG5vdCBwcm92aWRlZCBkZWZhdWx0cyB0byByb290XG4gICAqICovXG4gIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE11c3QgZW5kIGluIGAubWRgLiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHRzIHRvIGNkay1leHByZXNzLXBpcGVsaW5lLWRlcGxveW1lbnQtb3JkZXIubWRcbiAgICogKi9cbiAgcmVhZG9ubHkgZmlsZU5hbWU/OiBzdHJpbmc7XG59Il19
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
@@ -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.1" };
91
+ JsonPatch[_a] = { fqn: "@raindancers/agentl.JsonPatch", version: "0.0.3" };
92
92
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1wYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9qc29uLXBhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0RBQXNFO0FBVXRFOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQWEsU0FBUztJQUNwQjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUN4QyxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFZO1FBQy9CLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUM1QyxPQUFPLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUMzQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQVksRUFBRSxJQUFZO1FBQzNDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ3pDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsUUFBYSxFQUFFLEdBQUcsR0FBWTtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFBLGlCQUFVLEVBQ3ZCLFFBQVEsRUFDUixHQUFrQixDQUNuQixDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7O0FBekVILDhCQTBFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wZXJhdGlvbiwgYXBwbHlQYXRjaCB9IGZyb20gJ2Zhc3QtanNvbi1wYXRjaC9jb21tb25qcy9jb3JlJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdGNoIHtcbiAgcmVhZG9ubHkgb3A6IHN0cmluZztcbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICByZWFkb25seSB2YWx1ZT86IGFueTtcbiAgcmVhZG9ubHkgZnJvbT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZvciBhcHBseWluZyBSRkMtNjkwMiBKU09OLVBhdGNoIHRvIGEgZG9jdW1lbnQuXG4gKlxuICogVXNlIHRoZSB0aGUgYEpzb25QYXRjaC5hcHBseShkb2MsIC4uLm9wcylgIGZ1bmN0aW9uIHRvIGFwcGx5IGEgc2V0IG9mXG4gKiBvcGVyYXRpb25zIHRvIGEgSlNPTiBkb2N1bWVudCBhbmQgcmV0dXJuIHRoZSByZXN1bHQuXG4gKlxuICogT3BlcmF0aW9ucyBjYW4gYmUgY3JlYXRlZCB1c2luZyB0aGUgZmFjdG9yeSBtZXRob2RzIGBKc29uUGF0Y2guYWRkKClgLFxuICogYEpzb25QYXRjaC5yZW1vdmUoKWAsIGV0Yy5cbiAqXG4gKiBjb25zdCBvdXRwdXQgPSBKc29uUGF0Y2guYXBwbHkoaW5wdXQsXG4gKiAgIEpzb25QYXRjaC5yZXBsYWNlKCcvd29ybGQvaGkvdGhlcmUnLCAnZ29vZGJ5ZScpLFxuICogICBKc29uUGF0Y2guYWRkKCcvd29ybGQvZm9vLycsICdib29tJyksXG4gKiAgIEpzb25QYXRjaC5yZW1vdmUoJy9oZWxsbycpLFxuICogKTtcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBKc29uUGF0Y2gge1xuICAvKipcbiAgICogQWRkcyBhIHZhbHVlIHRvIGFuIG9iamVjdCBvciBpbnNlcnRzIGl0IGludG8gYW4gYXJyYXkuIEluIHRoZSBjYXNlIG9mIGFuXG4gICAqIGFycmF5LCB0aGUgdmFsdWUgaXMgaW5zZXJ0ZWQgYmVmb3JlIHRoZSBnaXZlbiBpbmRleC4gVGhlIC0gY2hhcmFjdGVyIGNhbiBiZVxuICAgKiB1c2VkIGluc3RlYWQgb2YgYW4gaW5kZXggdG8gaW5zZXJ0IGF0IHRoZSBlbmQgb2YgYW4gYXJyYXkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5hZGQoJy9taWxrJywgdHJ1ZSlcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLmFkZCgnL2Jpc2N1aXRzLzEnLCB7IFwibmFtZVwiOiBcIkdpbmdlciBOdXRcIiB9KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhZGQocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogUGF0Y2gge1xuICAgIHJldHVybiB7IG9wOiAnYWRkJywgcGF0aCwgdmFsdWUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgdmFsdWUgZnJvbSBhbiBvYmplY3Qgb3IgYXJyYXkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5yZW1vdmUoJy9iaXNjdWl0cycpXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC5yZW1vdmUoJy9iaXNjdWl0cy8wJylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlKHBhdGg6IHN0cmluZyk6IFBhdGNoIHtcbiAgICByZXR1cm4geyBvcDogJ3JlbW92ZScsIHBhdGggfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBhIHZhbHVlLiBFcXVpdmFsZW50IHRvIGEg4oCccmVtb3Zl4oCdIGZvbGxvd2VkIGJ5IGFuIOKAnGFkZOKAnS5cbiAgICpcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLnJlcGxhY2UoJy9iaXNjdWl0cy8wL25hbWUnLCAnQ2hvY29sYXRlIERpZ2VzdGl2ZScpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlcGxhY2UocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogUGF0Y2gge1xuICAgIHJldHVybiB7IG9wOiAncmVwbGFjZScsIHBhdGgsIHZhbHVlIH07XG4gIH1cblxuICAvKipcbiAgICogQ29waWVzIGEgdmFsdWUgZnJvbSBvbmUgbG9jYXRpb24gdG8gYW5vdGhlciB3aXRoaW4gdGhlIEpTT04gZG9jdW1lbnQuIEJvdGhcbiAgICogZnJvbSBhbmQgcGF0aCBhcmUgSlNPTiBQb2ludGVycy5cbiAgICpcbiAgICogQGV4YW1wbGUgSnNvblBhdGNoLmNvcHkoJy9iaXNjdWl0cy8wJywgJy9iZXN0X2Jpc2N1aXQnKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb3B5KGZyb206IHN0cmluZywgcGF0aDogc3RyaW5nKTogUGF0Y2gge1xuICAgIHJldHVybiB7IG9wOiAnY29weScsIGZyb20sIHBhdGggfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyBhIHZhbHVlIGZyb20gb25lIGxvY2F0aW9uIHRvIHRoZSBvdGhlci4gQm90aCBmcm9tIGFuZCBwYXRoIGFyZSBKU09OIFBvaW50ZXJzLlxuICAgKlxuICAgKiBAZXhhbXBsZSBKc29uUGF0Y2gubW92ZSgnL2Jpc2N1aXRzJywgJy9jb29raWVzJylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbW92ZShmcm9tOiBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IFBhdGNoIHtcbiAgICByZXR1cm4geyBvcDogJ21vdmUnLCBmcm9tLCBwYXRoIH07XG4gIH1cblxuICAvKipcbiAgICogVGVzdHMgdGhhdCB0aGUgc3BlY2lmaWVkIHZhbHVlIGlzIHNldCBpbiB0aGUgZG9jdW1lbnQuIElmIHRoZSB0ZXN0IGZhaWxzLFxuICAgKiB0aGVuIHRoZSBwYXRjaCBhcyBhIHdob2xlIHNob3VsZCBub3QgYXBwbHkuXG4gICAqXG4gICAqIEBleGFtcGxlIEpzb25QYXRjaC50ZXN0KCcvYmVzdF9iaXNjdWl0L25hbWUnLCAnQ2hvY28gTGVpYm5peicpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRlc3QocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KTogUGF0Y2gge1xuICAgIHJldHVybiB7IG9wOiAndGVzdCcsIHBhdGgsIHZhbHVlIH07XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyBhIHNldCBvZiBKU09OLVBhdGNoIChSRkMtNjkwMikgb3BlcmF0aW9ucyB0byBgZG9jdW1lbnRgIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuXG4gICAqIEBwYXJhbSBkb2N1bWVudCBUaGUgZG9jdW1lbnQgdG8gcGF0Y2hcbiAgICogQHBhcmFtIG9wcyBUaGUgb3BlcmF0aW9ucyB0byBhcHBseVxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IGRvY3VtZW50XG4gICAqL1xuICBwdWJsaWMgcGF0Y2goZG9jdW1lbnQ6IGFueSwgLi4ub3BzOiBQYXRjaFtdKTogYW55IHtcbiAgICBjb25zdCByZXN1bHQgPSBhcHBseVBhdGNoKFxuICAgICAgZG9jdW1lbnQsXG4gICAgICBvcHMgYXMgT3BlcmF0aW9uW10sXG4gICAgKTtcbiAgICByZXR1cm4gcmVzdWx0Lm5ld0RvY3VtZW50O1xuICB9XG59Il19
package/package.json CHANGED
@@ -92,7 +92,7 @@
92
92
  "publishConfig": {
93
93
  "access": "public"
94
94
  },
95
- "version": "0.0.1",
95
+ "version": "0.0.3",
96
96
  "jest": {
97
97
  "coverageProvider": "v8",
98
98
  "testMatch": [