@codedrifters/configulator 0.0.445 → 0.0.446

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/lib/index.d.mts CHANGED
@@ -12407,6 +12407,59 @@ declare const DEPLOY_GATE: {
12407
12407
  readonly PLAN_APPLY: "plan-apply";
12408
12408
  };
12409
12409
  type DeployGate = ValueOf<typeof DEPLOY_GATE>;
12410
+ /**
12411
+ * How many approvals the {@link DEPLOY_GATE.ENVIRONMENT} gate asks an operator
12412
+ * for across one run.
12413
+ *
12414
+ * @see `docs/packages/@codedrifters/configulator/workflows/aws-deploy-workflow.md`
12415
+ */
12416
+ declare const DEPLOY_APPROVALS: {
12417
+ /**
12418
+ * One approval per deploy job. The environment sits on every deploy job, so
12419
+ * each reaches its protection rules on its own — and deploy jobs chained by
12420
+ * `deployAfterTargets` reach them one at a time, with a full deploy between
12421
+ * each prompt.
12422
+ */
12423
+ readonly PER_TARGET: "per-target";
12424
+ /**
12425
+ * One approval for the whole run. A dedicated approval job carries the
12426
+ * required-reviewer rule and every deploy job waits on it, so the operator
12427
+ * approves once and the rest of the run proceeds unattended.
12428
+ *
12429
+ * Requires `approvalEnvironmentName`, and it must name a *different*
12430
+ * environment than the deploy jobs' — the deploy jobs keep their own
12431
+ * `environment` so their OIDC subject claims, environment-scoped secrets,
12432
+ * and per-stack deployment history are untouched.
12433
+ */
12434
+ readonly ONCE: "once";
12435
+ };
12436
+ type DeployApprovals = ValueOf<typeof DEPLOY_APPROVALS>;
12437
+ /**
12438
+ * Job id of the single approval job emitted under
12439
+ * {@link DEPLOY_APPROVALS.ONCE}.
12440
+ */
12441
+ declare const APPROVE_JOB_ID = "approve";
12442
+ /**
12443
+ * Resolve the GitHub environment the single approval job sits behind,
12444
+ * validating the pairing at synth time.
12445
+ *
12446
+ * Mirrors {@link resolveEnvironmentGate}: every rejected combination is one
12447
+ * that renders a workflow which *looks* gated the way it was configured and is
12448
+ * not. A name with no `approvals: "once"` is inert, `approvals: "once"` with no
12449
+ * name has nothing to gate on, `approvals: "once"` outside the `environment`
12450
+ * gate has no deploy jobs in this workflow to hold, and an approval
12451
+ * environment equal to the deploy environment reintroduces the per-target
12452
+ * prompts the option exists to remove.
12453
+ *
12454
+ * @see `docs/packages/@codedrifters/configulator/workflows/aws-deploy-workflow.md`
12455
+ * @param gate - Gate model, or `undefined` to leave the workflow ungated.
12456
+ * @param approvals - Approval model, defaulting to `per-target` when unset.
12457
+ * @param approvalEnvironmentName - Approval environment, required under `once`.
12458
+ * @param environmentName - Resolved deploy environment, used for the collision check.
12459
+ * @param componentName - Component name used in the thrown error message.
12460
+ * @returns The approval environment name, or `undefined` under `per-target`.
12461
+ */
12462
+ declare const resolveApprovalGate: (gate: DeployGate | undefined, approvals: DeployApprovals | undefined, approvalEnvironmentName: string | undefined, environmentName: string | undefined, componentName: string) => string | undefined;
12410
12463
  /**
12411
12464
  * Resolve the GitHub environment a workflow's gated jobs sit behind,
12412
12465
  * validating the pairing at synth time.
@@ -12666,6 +12719,40 @@ interface DeployWorkflowOptions {
12666
12719
  * @default - no environment is applied
12667
12720
  */
12668
12721
  readonly environmentName?: string;
12722
+ /**
12723
+ * How many approvals the `"environment"` gate asks for across one run.
12724
+ *
12725
+ * `"per-target"` (the default) leaves the gate exactly as it was: the
12726
+ * environment sits on every deploy job, so each one reaches its protection
12727
+ * rules separately. Deploy jobs chained by {@link deployAfterTargets} reach
12728
+ * them one at a time, with a full deploy between each prompt, so an operator
12729
+ * approves N times with a wait in between.
12730
+ *
12731
+ * `"once"` emits a single `approve` job behind {@link
12732
+ * approvalEnvironmentName} and holds every deploy job behind it, so one
12733
+ * approval after the diff report releases the whole run. The deploy jobs keep
12734
+ * their own `environment`, so OIDC subject claims, environment-scoped
12735
+ * secrets, and per-stack deployment history are unchanged. Requires {@link
12736
+ * approvalEnvironmentName} and the `"environment"` gate.
12737
+ *
12738
+ * @see `docs/packages/@codedrifters/configulator/workflows/aws-deploy-workflow.md`
12739
+ * @default DEPLOY_APPROVALS.PER_TARGET - one approval per deploy job
12740
+ */
12741
+ readonly approvals?: DeployApprovals;
12742
+ /**
12743
+ * Name of the GitHub environment the single `approve` job is held behind.
12744
+ * Required when {@link approvals} is `"once"`, and rejected otherwise.
12745
+ *
12746
+ * Must differ from {@link environmentName}: this is the environment carrying
12747
+ * the required-reviewer rule, while the deploy environment keeps the secrets
12748
+ * and the deployment history. An administrator has to create it with that
12749
+ * rule and remove the rule from the deploy environment, or the run prompts
12750
+ * twice.
12751
+ *
12752
+ * @see `docs/packages/@codedrifters/configulator/workflows/aws-deploy-workflow.md`
12753
+ * @default - no approval job is emitted
12754
+ */
12755
+ readonly approvalEnvironmentName?: string;
12669
12756
  /**
12670
12757
  * Extra settings for the `plan-apply` gate. Ignored under every other gate.
12671
12758
  *
@@ -12753,6 +12840,16 @@ declare class AwsDeployWorkflow extends Component {
12753
12840
  * Gate model this workflow was built with, or `undefined` when ungated.
12754
12841
  */
12755
12842
  readonly gate?: DeployGate;
12843
+ /**
12844
+ * Resolved approval model. Concrete under every gate, and simply unused
12845
+ * outside `environment`.
12846
+ */
12847
+ readonly approvals: DeployApprovals;
12848
+ /**
12849
+ * GitHub environment the single `approve` job sits behind under
12850
+ * `approvals: "once"`, or `undefined` under `per-target`.
12851
+ */
12852
+ readonly approvalEnvironmentName?: string;
12756
12853
  /**
12757
12854
  * Resolved `plan-apply` settings. Every field is concrete so callers never
12758
12855
  * have to re-apply the defaults. Populated under every gate, and simply
@@ -12884,6 +12981,24 @@ declare class AwsDeployWorkflow extends Component {
12884
12981
  * @returns Condition string or empty string if no branches provided
12885
12982
  */
12886
12983
  private buildBranchFilterCondition;
12984
+ /**
12985
+ * Compose the single approval job's condition.
12986
+ *
12987
+ * Mirrors a deploy job's, with one difference forced by the job being shared:
12988
+ * the branch clause is the union of every target's, rather than one target's.
12989
+ * Without it a push to a branch no target deploys from would still pause for
12990
+ * an approval — prompting for a deployment that can never happen, and holding
12991
+ * the `complete` gate pending while it waits.
12992
+ *
12993
+ * A target with no branch filter deploys from every branch, so one of those
12994
+ * collapses the union to no clause at all.
12995
+ *
12996
+ * Deliberately no `!cancelled()`, unlike the diff report: a report is wanted
12997
+ * precisely when a diff failed, but an approval is not. GitHub's default —
12998
+ * skip a job whose `needs` failed — is what should happen here, and it
12999
+ * cascades to every deploy job waiting on the approval.
13000
+ */
13001
+ private buildApprovalCondition;
12887
13002
  /**
12888
13003
  * Steps for a target's deploy job.
12889
13004
  *
@@ -15130,4 +15245,4 @@ declare function pinPnpmActionSetup(project: Project$1): void;
15130
15245
  */
15131
15246
  declare function pinSetupNodeVersion(project: Project$1): void;
15132
15247
 
15133
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_REGISTRY_ENTRIES, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, AUDIT_CATEGORY_ORDER, type ActionItemFilingConfig, type ActivateBranchNameEnvVarOptions, type AddStorybookOptions, type AgentCommand, AgentConfig, type AgentConfigOptions, type AgentExpansionRules, type AgentFeaturesConfig, type AgentModel, type AgentPathsConfig, type AgentPlatform, type AgentPlatformOverrides, type AgentProcedure, type AgentRegistryEntry, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type AgentTier, type AgentTierConfig, type AgentTierEntry, type AnalyzeTsDocCoverageOptions, type ApiDiffCheckOptions, type ApiDiffFinding, type ApiDiffResult, ApiExtractor, type ApiExtractorOptions, type ApiExtractorReportOptions, type ApiSurfaceEntry, ApplyWorkflow, type ApplyWorkflowAttachOptions, type ApplyWorkflowContract, type ApplyWorkflowOptions, type ApproveMergeUpgradeOptions, AstroConfig, type AstroConfigOptions, type AstroIntegrationSpec, AstroOutput, AstroProject, type AstroProjectOptions, AuditCategory, type AuditCheckRunner, type AuditCheckRunnerContext, type AuditFinding, type AuditFindingBase, type AuditLocation, AuditMode, type AuditReport, AuditSeverity, type AwsAccount, AwsCdkProject, type AwsCdkProjectOptions, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, AwsTeardownWorkflow, type AwsTeardownWorkflowOptions, BUILD_ARTIFACT_NAME, BUILT_IN_BUNDLES, BUNDLE_OWNERSHIP, type BundleOwnership, CDK_BOOTSTRAP_DEFAULTS_BY_STAGE, CDK_DEPLOY_DEFAULTS_BY_STAGE, CDK_DEPLOY_METHOD, CDK_DESTROY_DEFAULTS_BY_STAGE, CDK_DIFF_DEFAULTS_BY_STAGE, CDK_DIFF_METHOD, CDK_GC_ACTION, CDK_GC_TYPE, CDK_INIT_LANGUAGE, CDK_INIT_TEMPLATE, CDK_PROGRESS, CDK_REQUIRE_APPROVAL, CDK_SYNTH_DEFAULTS_BY_STAGE, CDK_WATCH_DEFAULTS_BY_STAGE, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, CONVENTIONAL_COMMIT_TYPE_LABELS, type CdkAcknowledgeOptions, type CdkBootstrapOptions, CdkCli, type CdkCliOptions, type CdkContextOptions, type CdkDeployMethod, type CdkDeployOptions, type CdkDestroyOptions, type CdkDiffMethod, type CdkDiffOptions, type CdkDocsOptions, type CdkDoctorOptions, type CdkDriftOptions, type CdkFlagsOptions, type CdkGcAction, type CdkGcOptions, type CdkGcType, type CdkGlobalOptions, type CdkImportOptions, type CdkInitLanguage, type CdkInitOptions, type CdkInitTemplate, type CdkListOptions, type CdkMetadataOptions, type CdkMigrateOptions, type CdkNoticesOptions, type CdkOrphanOptions, type CdkProgress, type CdkPublishAssetsOptions, type CdkRefactorOptions, type CdkRequireApproval, type CdkRollbackOptions, type CdkSynthOptions, type CdkTargetOverrides, type CdkWatchOptions, type CiDeploymentConfig, type ClassTypeOptions, type ClaudeAutoModeConfig, type ClaudeHookAction, type ClaudeHookEntry, type ClaudeHooksConfig, type ClaudeMdConfig, type ClaudePermissionsConfig, type ClaudeRuleTarget, type ClaudeSandboxConfig, type ClaudeSettingsConfig, type CompileFencedSamplesOptions, type CopilotHandoff, type CursorHookAction, type CursorHooksConfig, type CursorSettingsConfig, type CustomDocSection, DEFAULT_AC_THRESHOLDS, DEFAULT_AGENT_PATHS, DEFAULT_AGENT_TIERS, DEFAULT_API_EXTRACTOR_CONFIG_FILE, DEFAULT_API_EXTRACTOR_ENTRY_POINT, DEFAULT_API_EXTRACTOR_REPORT_FILENAME, DEFAULT_API_EXTRACTOR_REPORT_FOLDER, DEFAULT_AUDIT_REPORT_DIR, DEFAULT_BASE_CONVENTIONS, DEFAULT_BUILD_POLICY, DEFAULT_BUNDLE_OVERRIDES, DEFAULT_DECOMPOSITION_TEMPLATE, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_GITHUB_ISSUE_TYPE, DEFAULT_HOUSEKEEPING_MODEL, DEFAULT_ISSUE_PRIORITY, DEFAULT_ISSUE_STATUS, DEFAULT_ISSUE_TEMPLATES_BUNDLE_PATH_PATTERNS, DEFAULT_ISSUE_TEMPLATES_EMIT_CHECKER, DEFAULT_ISSUE_TEMPLATES_EMIT_STARTER, DEFAULT_ISSUE_TEMPLATES_ENABLED, DEFAULT_ISSUE_TEMPLATES_PATH, DEFAULT_ISSUE_TEMPLATES_REQUIRE_REFERENCE, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_ORCHESTRATOR_CONVENTIONS, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_PATHS_EXEMPT_FROM_SIZE, DEFAULT_PRIORITY_LABELS, DEFAULT_PRODUCT_CONTEXT_PATH, DEFAULT_PROGRESS_FILES_ENABLED, DEFAULT_PROGRESS_FILES_FILENAME_PATTERN, DEFAULT_PROGRESS_FILES_FORMAT, DEFAULT_PROGRESS_FILES_STALE_AFTER_HOURS, DEFAULT_PROGRESS_FILES_STATE_DIR, DEFAULT_REQUIREMENT_CATEGORY_DIRS, DEFAULT_REQUIRE_PRODUCT_CONTEXT, DEFAULT_RESOLVED_ISSUE_DEFAULTS, DEFAULT_RULE_CONVENTIONS, DEFAULT_SAMPLE_COMPILER_OPTIONS, DEFAULT_SCHEDULED_TASKS_ROOT, DEFAULT_SCHEDULED_TASK_ENTRIES, DEFAULT_SHARED_EDITING_CONFLICT_STRATEGY, DEFAULT_SHARED_EDITING_EMIT_HELPER, DEFAULT_SHARED_EDITING_ENABLED, DEFAULT_SHARED_EDITING_VERIFY_COMMIT, DEFAULT_SHARED_INDEX_PATHS, DEFAULT_SKILL_EVALS_EMIT_RUNNER, DEFAULT_SKILL_EVALS_ENABLED, DEFAULT_SKILL_EVALS_SKILLS_ROOT, DEFAULT_SOURCES_THRESHOLDS, DEFAULT_STATE_FILE_PATH, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TEMPORAL_FRAMING_CADENCES, DEFAULT_TEMPORAL_FRAMING_EMIT_CHECKER, DEFAULT_TEMPORAL_FRAMING_ENABLED, DEFAULT_TEMPORAL_FRAMING_PATHS, DEFAULT_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_UPSTREAM_CONFIGULATOR_ENABLED, DEPLOY_GATE, DIFF_ARTIFACT_NAME, DIFF_NEW_STACK_MARKER, DIFF_OUTPUT_DIRECTORY, DIFF_PART_ARTIFACT_PREFIX, DIFF_REPORT_JOB_ID, DOCS_SYNC_AUDIT_SCHEMA_VERSION, type DeployDiffOptions, type DeployGate, type DeployWorkflowOptions, type DeploymentMetadata, DiffReportJob, type DiffReportJobAttachOptions, type DiffReportTarget, type DocReferenceRecord, type EffectiveScopeThresholds, type ExtractDocReferencesOptions, type ExtractFencedSamplesOptions, type FencedSampleRecord, type FocusArea, type FocusAreaMatch, type FocusConfig, GITHUB_ISSUE_TYPES, GITHUB_ISSUE_TYPE_BY_TITLE_PREFIX, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type GithubIssueType, type IDependencyResolver, ISSUE_TEMPLATES_GENERATED_SUFFIX, type IssueDefaultsConfig, type IssueDefaultsOverride, type IssueDefaultsPriority, type IssueDefaultsStatus, type IssueTemplateRecipeStub, type IssueTemplatesConfig, type IssueTypeAssignmentStepOptions, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, type LabelDefinition, type LayoutEnforcement, type LayoutViolation, type LinkFailureFinding, MAX_LABEL_DESCRIPTION_LENGTH, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, type McpServerConfig, type McpTransport, type MeetingArea, type MeetingScope, type MeetingType, type MeetingTypeKind, type MeetingsConfig, type MergeMethod, type MonorepoLayoutRoot, type MonorepoPnpmOptions, MonorepoProject, type MonorepoProjectOptions, Nvmrc, type OrganizationMetadata, PERMISSION_BACKUP_FILE, PHASE_LABEL_TYPE_MAP, PLAN_RUN_ID_INPUT, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, type PhaseLabelTypeOutcome, type PhaseLabelTypeResolution, type PlanApplyOptions, type PlanValidationScriptOptions, PnpmWorkspace, type PnpmWorkspaceOptions, type PrReviewAutoMergeConfig, type PrReviewCiVerificationConfig, type PrReviewPolicyConfig, type PriorityRule, type ProgressFilesConfig, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ReactViteSiteProject, type ReactViteSiteProjectOptions, type ReferenceMismatchCheckOptions, type ReferenceMismatchFinding, type RemoteCacheOptions, type RepositoryMetadata, type RequirementBlockFields, type RequirementCategoryDirsConfig, RequirementIssueTemplate, type RequirementIssueTemplateOptions, ResetTask, type ResetTaskOptions, type ResolvedAgentPaths, type ResolvedAgentTier, type ResolvedBaseConventions, type ResolvedBuildPolicy, type ResolvedIssueDefaults, type ResolvedIssueDefaultsEntry, type ResolvedIssueTemplates, type ResolvedOrchestratorConventions, type ResolvedPrReviewAutoMerge, type ResolvedPrReviewPolicy, type ResolvedProgressFiles, type ResolvedProjectMetadata, type ResolvedRequirementCategoryDirs, type ResolvedRuleConventions, type ResolvedRunRatio, type ResolvedScheduledTask, type ResolvedScheduledTasks, type ResolvedScopeGate, type ResolvedScopeGateBundleOverride, type ResolvedSharedEditing, type ResolvedSkillEvals, type ResolvedTemporalFraming, type ResolvedUnblockDependents, type RunRatioConfig, type RunScanOptions, type RunScanResult, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SET_ISSUE_TYPE_HELPER_PATH, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, SUPPRESSED_WORKFLOW_RULE_NAMES, type SampleCompilationFailure, type SampleFailureFinding, SampleLang, type ScheduledTaskEntry, type ScheduledTaskModel, type ScheduledTaskOverride, type ScheduledTasksConfig, type ScopeClass, type ScopeGateBundleOverride, type ScopeGateConfig, type ScopeGateThresholds, type SharedEditingConfig, type SkillEvalsConfig, type SlackMetadata, type SourceTierExamples, type StarlightEditLink, type StarlightLogo, StarlightProject, type StarlightProjectOptions, type StarlightRole, type StarlightSidebarItem, type StarlightSingletonViolation, type StarlightSocialLink, type SyncLabelsOptions, TEMPORAL_FRAMING_CATEGORY_VALUES, TURBO_RUN_CONTINUE, TURBO_RUN_DRY_RUN, TURBO_RUN_LOG_ORDER, TURBO_RUN_LOG_PREFIX, TURBO_RUN_OUTPUT_LOGS, type TemplateResolveResult, type TemporalFramingCategory, type TemporalFramingConfig, TestRunner, TsDocCoverageKind, type TsDocCoverageRecord, TsdocConfig, type TsdocConfigOptions, type TsdocCoverageCheckOptions, type TsdocCoverageFinding, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, type TurboRunContinue, type TurboRunDryRun, type TurboRunLogOrder, type TurboRunLogPrefix, type TurboRunOptions, type TurboRunOutputLogs, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, UNKNOWN_TYPE_FALLBACK_TIER, type UnblockDependentsConfig, type UpstreamConfigulatorConfig, VALIDATE_PLAN_JOB_ID, VALID_PRIORITY_VALUES, VALID_STATUS_VALUES, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, WorkflowHomeRepository, type WorkflowHomeRepositoryOptions, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addPlaywright, addStorybook, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, auditReportJsonSchema, awsCdkBundle, baseBundle, bcmWriterBundle, buildAgentRegistryRule, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildGithubWorkflowBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildMeetingAnalysisBundle, buildOrchestratorBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildPrReviewBundle, buildRegulatoryResearchBundle, buildReport, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildTurborepoBundle, buildUnblockDependentsProcedure, bundleNameForWorkflowRule, businessModelsBundle, checkClosingKeywordsProcedure, checkDocSamplesProcedure, checkLinksProcedure, classifyIssueScope, classifyRun, collectIssueTemplateRecipeStubs, companyProfileBundle, compileFencedSamples, createApiDiffCheck, createReferenceMismatchCheck, createTsdocCoverageCheck, customerProfileBundle, diffApiRollups, docsSyncBundle, emptyCategoryBuckets, extractApiProcedure, extractDocReferences, extractFencedSamples, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubIssueTypeForTitle, githubWorkflowBundle, hasAnyDocsEmittingBundle, hasAnyDownstreamIssueKindBundle, includeHiddenFilesInBuildArtifact, industryDiscoveryBundle, isPhaseLabelOwnedByExcluded, isScheduledTaskOwnedByExcluded, isSuppressedWorkflowRule, isTypeLabelOwnedByExcluded, issueTemplatesChildGlob, issueTemplatesGeneratedPath, jestBundle, labelsForPhase, maintenanceAuditBundle, meetingAnalysisBundle, mergeCdkOptions, nextRequirementIdProcedure, orchestratorBundle, parseApiRollup, peopleProfileBundle, persistAuditReport, pinPnpmActionSetup, pinSetupNodeVersion, pnpmBundle, prReviewBundle, projenBundle, referenceRecordToFinding, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCdkAcknowledge, renderCdkBootstrap, renderCdkContext, renderCdkDeploy, renderCdkDestroy, renderCdkDiff, renderCdkDocs, renderCdkDoctor, renderCdkDrift, renderCdkFlags, renderCdkGc, renderCdkImport, renderCdkInit, renderCdkList, renderCdkMetadata, renderCdkMigrate, renderCdkNotices, renderCdkOrphan, renderCdkPublishAssets, renderCdkRefactor, renderCdkRollback, renderCdkSynth, renderCdkWatch, renderCheckClosingKeywordsScript, renderCheckDocSamplesProcedure, renderCheckLinksProcedure, renderCustomDocSectionBlock, renderCustomDocSections, renderDiffPartUploadStep, renderExtractApiProcedure, renderFocusSection, renderGithubIssueTypeSection, renderGithubIssueTypeSectionLines, renderHomeRepositoryCondition, renderIssueTemplateLabelsCheckerScript, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesGeneratedPage, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderIssueTypeAssignmentBlanket, renderIssueTypeAssignmentStep, renderMeetingTypesSection, renderNextRequirementIdProcedure, renderPhaseTypeInvariantSection, renderPhaseTypeInvariantShellHelpers, renderPlanValidationScript, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRequirementBlock, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSetIssueTypeFallbackLines, renderSetupNode, renderSetupPnpm, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderStripToolArtifactTagsProcedure, renderTemporalFramingCheckerScript, renderTemporalFramingRuleContent, renderTitlePrefixTypeBullets, renderUnblockDependentsScript, renderUnblockDependentsSection, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveBuildPolicy, resolveEnvironmentGate, resolveIssueDefaults, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolveOverrideForLabels, resolvePrReviewPolicy, resolveProgressFiles, resolveReactViteSiteProjectOutdir, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTemporalFraming, resolveTypeLabelForLabels, resolveTypeScriptProjectOutdir, resolveUnblockDependents, runScan, slackBundle, softwareProfileBundle, standardsResearchBundle, stripToolArtifactTagsProcedure, tsdocRecordToFindings, turborepoBundle, typeLabelForPhaseLabel, typescriptBundle, upstreamConfigulatorDocsBundle, validateAgentTierConfig, validateIssueDefaultsConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePrReviewPolicyConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateTemporalFramingConfig, validateUnblockDependentsConfig, vitestBundle };
15248
+ export { AGENT_MODEL, AGENT_PLATFORM, AGENT_REGISTRY_ENTRIES, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, APPROVE_JOB_ID, AUDIT_CATEGORY_ORDER, type ActionItemFilingConfig, type ActivateBranchNameEnvVarOptions, type AddStorybookOptions, type AgentCommand, AgentConfig, type AgentConfigOptions, type AgentExpansionRules, type AgentFeaturesConfig, type AgentModel, type AgentPathsConfig, type AgentPlatform, type AgentPlatformOverrides, type AgentProcedure, type AgentRegistryEntry, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type AgentTier, type AgentTierConfig, type AgentTierEntry, type AnalyzeTsDocCoverageOptions, type ApiDiffCheckOptions, type ApiDiffFinding, type ApiDiffResult, ApiExtractor, type ApiExtractorOptions, type ApiExtractorReportOptions, type ApiSurfaceEntry, ApplyWorkflow, type ApplyWorkflowAttachOptions, type ApplyWorkflowContract, type ApplyWorkflowOptions, type ApproveMergeUpgradeOptions, AstroConfig, type AstroConfigOptions, type AstroIntegrationSpec, AstroOutput, AstroProject, type AstroProjectOptions, AuditCategory, type AuditCheckRunner, type AuditCheckRunnerContext, type AuditFinding, type AuditFindingBase, type AuditLocation, AuditMode, type AuditReport, AuditSeverity, type AwsAccount, AwsCdkProject, type AwsCdkProjectOptions, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, AwsTeardownWorkflow, type AwsTeardownWorkflowOptions, BUILD_ARTIFACT_NAME, BUILT_IN_BUNDLES, BUNDLE_OWNERSHIP, type BundleOwnership, CDK_BOOTSTRAP_DEFAULTS_BY_STAGE, CDK_DEPLOY_DEFAULTS_BY_STAGE, CDK_DEPLOY_METHOD, CDK_DESTROY_DEFAULTS_BY_STAGE, CDK_DIFF_DEFAULTS_BY_STAGE, CDK_DIFF_METHOD, CDK_GC_ACTION, CDK_GC_TYPE, CDK_INIT_LANGUAGE, CDK_INIT_TEMPLATE, CDK_PROGRESS, CDK_REQUIRE_APPROVAL, CDK_SYNTH_DEFAULTS_BY_STAGE, CDK_WATCH_DEFAULTS_BY_STAGE, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, CONVENTIONAL_COMMIT_TYPE_LABELS, type CdkAcknowledgeOptions, type CdkBootstrapOptions, CdkCli, type CdkCliOptions, type CdkContextOptions, type CdkDeployMethod, type CdkDeployOptions, type CdkDestroyOptions, type CdkDiffMethod, type CdkDiffOptions, type CdkDocsOptions, type CdkDoctorOptions, type CdkDriftOptions, type CdkFlagsOptions, type CdkGcAction, type CdkGcOptions, type CdkGcType, type CdkGlobalOptions, type CdkImportOptions, type CdkInitLanguage, type CdkInitOptions, type CdkInitTemplate, type CdkListOptions, type CdkMetadataOptions, type CdkMigrateOptions, type CdkNoticesOptions, type CdkOrphanOptions, type CdkProgress, type CdkPublishAssetsOptions, type CdkRefactorOptions, type CdkRequireApproval, type CdkRollbackOptions, type CdkSynthOptions, type CdkTargetOverrides, type CdkWatchOptions, type CiDeploymentConfig, type ClassTypeOptions, type ClaudeAutoModeConfig, type ClaudeHookAction, type ClaudeHookEntry, type ClaudeHooksConfig, type ClaudeMdConfig, type ClaudePermissionsConfig, type ClaudeRuleTarget, type ClaudeSandboxConfig, type ClaudeSettingsConfig, type CompileFencedSamplesOptions, type CopilotHandoff, type CursorHookAction, type CursorHooksConfig, type CursorSettingsConfig, type CustomDocSection, DEFAULT_AC_THRESHOLDS, DEFAULT_AGENT_PATHS, DEFAULT_AGENT_TIERS, DEFAULT_API_EXTRACTOR_CONFIG_FILE, DEFAULT_API_EXTRACTOR_ENTRY_POINT, DEFAULT_API_EXTRACTOR_REPORT_FILENAME, DEFAULT_API_EXTRACTOR_REPORT_FOLDER, DEFAULT_AUDIT_REPORT_DIR, DEFAULT_BASE_CONVENTIONS, DEFAULT_BUILD_POLICY, DEFAULT_BUNDLE_OVERRIDES, DEFAULT_DECOMPOSITION_TEMPLATE, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_GITHUB_ISSUE_TYPE, DEFAULT_HOUSEKEEPING_MODEL, DEFAULT_ISSUE_PRIORITY, DEFAULT_ISSUE_STATUS, DEFAULT_ISSUE_TEMPLATES_BUNDLE_PATH_PATTERNS, DEFAULT_ISSUE_TEMPLATES_EMIT_CHECKER, DEFAULT_ISSUE_TEMPLATES_EMIT_STARTER, DEFAULT_ISSUE_TEMPLATES_ENABLED, DEFAULT_ISSUE_TEMPLATES_PATH, DEFAULT_ISSUE_TEMPLATES_REQUIRE_REFERENCE, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_ORCHESTRATOR_CONVENTIONS, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_PATHS_EXEMPT_FROM_SIZE, DEFAULT_PRIORITY_LABELS, DEFAULT_PRODUCT_CONTEXT_PATH, DEFAULT_PROGRESS_FILES_ENABLED, DEFAULT_PROGRESS_FILES_FILENAME_PATTERN, DEFAULT_PROGRESS_FILES_FORMAT, DEFAULT_PROGRESS_FILES_STALE_AFTER_HOURS, DEFAULT_PROGRESS_FILES_STATE_DIR, DEFAULT_REQUIREMENT_CATEGORY_DIRS, DEFAULT_REQUIRE_PRODUCT_CONTEXT, DEFAULT_RESOLVED_ISSUE_DEFAULTS, DEFAULT_RULE_CONVENTIONS, DEFAULT_SAMPLE_COMPILER_OPTIONS, DEFAULT_SCHEDULED_TASKS_ROOT, DEFAULT_SCHEDULED_TASK_ENTRIES, DEFAULT_SHARED_EDITING_CONFLICT_STRATEGY, DEFAULT_SHARED_EDITING_EMIT_HELPER, DEFAULT_SHARED_EDITING_ENABLED, DEFAULT_SHARED_EDITING_VERIFY_COMMIT, DEFAULT_SHARED_INDEX_PATHS, DEFAULT_SKILL_EVALS_EMIT_RUNNER, DEFAULT_SKILL_EVALS_ENABLED, DEFAULT_SKILL_EVALS_SKILLS_ROOT, DEFAULT_SOURCES_THRESHOLDS, DEFAULT_STATE_FILE_PATH, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TEMPORAL_FRAMING_CADENCES, DEFAULT_TEMPORAL_FRAMING_EMIT_CHECKER, DEFAULT_TEMPORAL_FRAMING_ENABLED, DEFAULT_TEMPORAL_FRAMING_PATHS, DEFAULT_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_UPSTREAM_CONFIGULATOR_ENABLED, DEPLOY_APPROVALS, DEPLOY_GATE, DIFF_ARTIFACT_NAME, DIFF_NEW_STACK_MARKER, DIFF_OUTPUT_DIRECTORY, DIFF_PART_ARTIFACT_PREFIX, DIFF_REPORT_JOB_ID, DOCS_SYNC_AUDIT_SCHEMA_VERSION, type DeployApprovals, type DeployDiffOptions, type DeployGate, type DeployWorkflowOptions, type DeploymentMetadata, DiffReportJob, type DiffReportJobAttachOptions, type DiffReportTarget, type DocReferenceRecord, type EffectiveScopeThresholds, type ExtractDocReferencesOptions, type ExtractFencedSamplesOptions, type FencedSampleRecord, type FocusArea, type FocusAreaMatch, type FocusConfig, GITHUB_ISSUE_TYPES, GITHUB_ISSUE_TYPE_BY_TITLE_PREFIX, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type GithubIssueType, type IDependencyResolver, ISSUE_TEMPLATES_GENERATED_SUFFIX, type IssueDefaultsConfig, type IssueDefaultsOverride, type IssueDefaultsPriority, type IssueDefaultsStatus, type IssueTemplateRecipeStub, type IssueTemplatesConfig, type IssueTypeAssignmentStepOptions, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, type LabelDefinition, type LayoutEnforcement, type LayoutViolation, type LinkFailureFinding, MAX_LABEL_DESCRIPTION_LENGTH, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, type McpServerConfig, type McpTransport, type MeetingArea, type MeetingScope, type MeetingType, type MeetingTypeKind, type MeetingsConfig, type MergeMethod, type MonorepoLayoutRoot, type MonorepoPnpmOptions, MonorepoProject, type MonorepoProjectOptions, Nvmrc, type OrganizationMetadata, PERMISSION_BACKUP_FILE, PHASE_LABEL_TYPE_MAP, PLAN_RUN_ID_INPUT, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, type PhaseLabelTypeOutcome, type PhaseLabelTypeResolution, type PlanApplyOptions, type PlanValidationScriptOptions, PnpmWorkspace, type PnpmWorkspaceOptions, type PrReviewAutoMergeConfig, type PrReviewCiVerificationConfig, type PrReviewPolicyConfig, type PriorityRule, type ProgressFilesConfig, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ReactViteSiteProject, type ReactViteSiteProjectOptions, type ReferenceMismatchCheckOptions, type ReferenceMismatchFinding, type RemoteCacheOptions, type RepositoryMetadata, type RequirementBlockFields, type RequirementCategoryDirsConfig, RequirementIssueTemplate, type RequirementIssueTemplateOptions, ResetTask, type ResetTaskOptions, type ResolvedAgentPaths, type ResolvedAgentTier, type ResolvedBaseConventions, type ResolvedBuildPolicy, type ResolvedIssueDefaults, type ResolvedIssueDefaultsEntry, type ResolvedIssueTemplates, type ResolvedOrchestratorConventions, type ResolvedPrReviewAutoMerge, type ResolvedPrReviewPolicy, type ResolvedProgressFiles, type ResolvedProjectMetadata, type ResolvedRequirementCategoryDirs, type ResolvedRuleConventions, type ResolvedRunRatio, type ResolvedScheduledTask, type ResolvedScheduledTasks, type ResolvedScopeGate, type ResolvedScopeGateBundleOverride, type ResolvedSharedEditing, type ResolvedSkillEvals, type ResolvedTemporalFraming, type ResolvedUnblockDependents, type RunRatioConfig, type RunScanOptions, type RunScanResult, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SET_ISSUE_TYPE_HELPER_PATH, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, SUPPRESSED_WORKFLOW_RULE_NAMES, type SampleCompilationFailure, type SampleFailureFinding, SampleLang, type ScheduledTaskEntry, type ScheduledTaskModel, type ScheduledTaskOverride, type ScheduledTasksConfig, type ScopeClass, type ScopeGateBundleOverride, type ScopeGateConfig, type ScopeGateThresholds, type SharedEditingConfig, type SkillEvalsConfig, type SlackMetadata, type SourceTierExamples, type StarlightEditLink, type StarlightLogo, StarlightProject, type StarlightProjectOptions, type StarlightRole, type StarlightSidebarItem, type StarlightSingletonViolation, type StarlightSocialLink, type SyncLabelsOptions, TEMPORAL_FRAMING_CATEGORY_VALUES, TURBO_RUN_CONTINUE, TURBO_RUN_DRY_RUN, TURBO_RUN_LOG_ORDER, TURBO_RUN_LOG_PREFIX, TURBO_RUN_OUTPUT_LOGS, type TemplateResolveResult, type TemporalFramingCategory, type TemporalFramingConfig, TestRunner, TsDocCoverageKind, type TsDocCoverageRecord, TsdocConfig, type TsdocConfigOptions, type TsdocCoverageCheckOptions, type TsdocCoverageFinding, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, type TurboRunContinue, type TurboRunDryRun, type TurboRunLogOrder, type TurboRunLogPrefix, type TurboRunOptions, type TurboRunOutputLogs, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, UNKNOWN_TYPE_FALLBACK_TIER, type UnblockDependentsConfig, type UpstreamConfigulatorConfig, VALIDATE_PLAN_JOB_ID, VALID_PRIORITY_VALUES, VALID_STATUS_VALUES, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, WorkflowHomeRepository, type WorkflowHomeRepositoryOptions, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addPlaywright, addStorybook, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, auditReportJsonSchema, awsCdkBundle, baseBundle, bcmWriterBundle, buildAgentRegistryRule, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildGithubWorkflowBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildMeetingAnalysisBundle, buildOrchestratorBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildPrReviewBundle, buildRegulatoryResearchBundle, buildReport, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildTurborepoBundle, buildUnblockDependentsProcedure, bundleNameForWorkflowRule, businessModelsBundle, checkClosingKeywordsProcedure, checkDocSamplesProcedure, checkLinksProcedure, classifyIssueScope, classifyRun, collectIssueTemplateRecipeStubs, companyProfileBundle, compileFencedSamples, createApiDiffCheck, createReferenceMismatchCheck, createTsdocCoverageCheck, customerProfileBundle, diffApiRollups, docsSyncBundle, emptyCategoryBuckets, extractApiProcedure, extractDocReferences, extractFencedSamples, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubIssueTypeForTitle, githubWorkflowBundle, hasAnyDocsEmittingBundle, hasAnyDownstreamIssueKindBundle, includeHiddenFilesInBuildArtifact, industryDiscoveryBundle, isPhaseLabelOwnedByExcluded, isScheduledTaskOwnedByExcluded, isSuppressedWorkflowRule, isTypeLabelOwnedByExcluded, issueTemplatesChildGlob, issueTemplatesGeneratedPath, jestBundle, labelsForPhase, maintenanceAuditBundle, meetingAnalysisBundle, mergeCdkOptions, nextRequirementIdProcedure, orchestratorBundle, parseApiRollup, peopleProfileBundle, persistAuditReport, pinPnpmActionSetup, pinSetupNodeVersion, pnpmBundle, prReviewBundle, projenBundle, referenceRecordToFinding, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCdkAcknowledge, renderCdkBootstrap, renderCdkContext, renderCdkDeploy, renderCdkDestroy, renderCdkDiff, renderCdkDocs, renderCdkDoctor, renderCdkDrift, renderCdkFlags, renderCdkGc, renderCdkImport, renderCdkInit, renderCdkList, renderCdkMetadata, renderCdkMigrate, renderCdkNotices, renderCdkOrphan, renderCdkPublishAssets, renderCdkRefactor, renderCdkRollback, renderCdkSynth, renderCdkWatch, renderCheckClosingKeywordsScript, renderCheckDocSamplesProcedure, renderCheckLinksProcedure, renderCustomDocSectionBlock, renderCustomDocSections, renderDiffPartUploadStep, renderExtractApiProcedure, renderFocusSection, renderGithubIssueTypeSection, renderGithubIssueTypeSectionLines, renderHomeRepositoryCondition, renderIssueTemplateLabelsCheckerScript, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesGeneratedPage, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderIssueTypeAssignmentBlanket, renderIssueTypeAssignmentStep, renderMeetingTypesSection, renderNextRequirementIdProcedure, renderPhaseTypeInvariantSection, renderPhaseTypeInvariantShellHelpers, renderPlanValidationScript, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRequirementBlock, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSetIssueTypeFallbackLines, renderSetupNode, renderSetupPnpm, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderStripToolArtifactTagsProcedure, renderTemporalFramingCheckerScript, renderTemporalFramingRuleContent, renderTitlePrefixTypeBullets, renderUnblockDependentsScript, renderUnblockDependentsSection, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveApprovalGate, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveBuildPolicy, resolveEnvironmentGate, resolveIssueDefaults, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolveOverrideForLabels, resolvePrReviewPolicy, resolveProgressFiles, resolveReactViteSiteProjectOutdir, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTemporalFraming, resolveTypeLabelForLabels, resolveTypeScriptProjectOutdir, resolveUnblockDependents, runScan, slackBundle, softwareProfileBundle, standardsResearchBundle, stripToolArtifactTagsProcedure, tsdocRecordToFindings, turborepoBundle, typeLabelForPhaseLabel, typescriptBundle, upstreamConfigulatorDocsBundle, validateAgentTierConfig, validateIssueDefaultsConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePrReviewPolicyConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateTemporalFramingConfig, validateUnblockDependentsConfig, vitestBundle };
package/lib/index.d.ts CHANGED
@@ -12456,6 +12456,59 @@ declare const DEPLOY_GATE: {
12456
12456
  readonly PLAN_APPLY: "plan-apply";
12457
12457
  };
12458
12458
  type DeployGate = ValueOf<typeof DEPLOY_GATE>;
12459
+ /**
12460
+ * How many approvals the {@link DEPLOY_GATE.ENVIRONMENT} gate asks an operator
12461
+ * for across one run.
12462
+ *
12463
+ * @see `docs/packages/@codedrifters/configulator/workflows/aws-deploy-workflow.md`
12464
+ */
12465
+ declare const DEPLOY_APPROVALS: {
12466
+ /**
12467
+ * One approval per deploy job. The environment sits on every deploy job, so
12468
+ * each reaches its protection rules on its own — and deploy jobs chained by
12469
+ * `deployAfterTargets` reach them one at a time, with a full deploy between
12470
+ * each prompt.
12471
+ */
12472
+ readonly PER_TARGET: "per-target";
12473
+ /**
12474
+ * One approval for the whole run. A dedicated approval job carries the
12475
+ * required-reviewer rule and every deploy job waits on it, so the operator
12476
+ * approves once and the rest of the run proceeds unattended.
12477
+ *
12478
+ * Requires `approvalEnvironmentName`, and it must name a *different*
12479
+ * environment than the deploy jobs' — the deploy jobs keep their own
12480
+ * `environment` so their OIDC subject claims, environment-scoped secrets,
12481
+ * and per-stack deployment history are untouched.
12482
+ */
12483
+ readonly ONCE: "once";
12484
+ };
12485
+ type DeployApprovals = ValueOf<typeof DEPLOY_APPROVALS>;
12486
+ /**
12487
+ * Job id of the single approval job emitted under
12488
+ * {@link DEPLOY_APPROVALS.ONCE}.
12489
+ */
12490
+ declare const APPROVE_JOB_ID = "approve";
12491
+ /**
12492
+ * Resolve the GitHub environment the single approval job sits behind,
12493
+ * validating the pairing at synth time.
12494
+ *
12495
+ * Mirrors {@link resolveEnvironmentGate}: every rejected combination is one
12496
+ * that renders a workflow which *looks* gated the way it was configured and is
12497
+ * not. A name with no `approvals: "once"` is inert, `approvals: "once"` with no
12498
+ * name has nothing to gate on, `approvals: "once"` outside the `environment`
12499
+ * gate has no deploy jobs in this workflow to hold, and an approval
12500
+ * environment equal to the deploy environment reintroduces the per-target
12501
+ * prompts the option exists to remove.
12502
+ *
12503
+ * @see `docs/packages/@codedrifters/configulator/workflows/aws-deploy-workflow.md`
12504
+ * @param gate - Gate model, or `undefined` to leave the workflow ungated.
12505
+ * @param approvals - Approval model, defaulting to `per-target` when unset.
12506
+ * @param approvalEnvironmentName - Approval environment, required under `once`.
12507
+ * @param environmentName - Resolved deploy environment, used for the collision check.
12508
+ * @param componentName - Component name used in the thrown error message.
12509
+ * @returns The approval environment name, or `undefined` under `per-target`.
12510
+ */
12511
+ declare const resolveApprovalGate: (gate: DeployGate | undefined, approvals: DeployApprovals | undefined, approvalEnvironmentName: string | undefined, environmentName: string | undefined, componentName: string) => string | undefined;
12459
12512
  /**
12460
12513
  * Resolve the GitHub environment a workflow's gated jobs sit behind,
12461
12514
  * validating the pairing at synth time.
@@ -12715,6 +12768,40 @@ interface DeployWorkflowOptions {
12715
12768
  * @default - no environment is applied
12716
12769
  */
12717
12770
  readonly environmentName?: string;
12771
+ /**
12772
+ * How many approvals the `"environment"` gate asks for across one run.
12773
+ *
12774
+ * `"per-target"` (the default) leaves the gate exactly as it was: the
12775
+ * environment sits on every deploy job, so each one reaches its protection
12776
+ * rules separately. Deploy jobs chained by {@link deployAfterTargets} reach
12777
+ * them one at a time, with a full deploy between each prompt, so an operator
12778
+ * approves N times with a wait in between.
12779
+ *
12780
+ * `"once"` emits a single `approve` job behind {@link
12781
+ * approvalEnvironmentName} and holds every deploy job behind it, so one
12782
+ * approval after the diff report releases the whole run. The deploy jobs keep
12783
+ * their own `environment`, so OIDC subject claims, environment-scoped
12784
+ * secrets, and per-stack deployment history are unchanged. Requires {@link
12785
+ * approvalEnvironmentName} and the `"environment"` gate.
12786
+ *
12787
+ * @see `docs/packages/@codedrifters/configulator/workflows/aws-deploy-workflow.md`
12788
+ * @default DEPLOY_APPROVALS.PER_TARGET - one approval per deploy job
12789
+ */
12790
+ readonly approvals?: DeployApprovals;
12791
+ /**
12792
+ * Name of the GitHub environment the single `approve` job is held behind.
12793
+ * Required when {@link approvals} is `"once"`, and rejected otherwise.
12794
+ *
12795
+ * Must differ from {@link environmentName}: this is the environment carrying
12796
+ * the required-reviewer rule, while the deploy environment keeps the secrets
12797
+ * and the deployment history. An administrator has to create it with that
12798
+ * rule and remove the rule from the deploy environment, or the run prompts
12799
+ * twice.
12800
+ *
12801
+ * @see `docs/packages/@codedrifters/configulator/workflows/aws-deploy-workflow.md`
12802
+ * @default - no approval job is emitted
12803
+ */
12804
+ readonly approvalEnvironmentName?: string;
12718
12805
  /**
12719
12806
  * Extra settings for the `plan-apply` gate. Ignored under every other gate.
12720
12807
  *
@@ -12802,6 +12889,16 @@ declare class AwsDeployWorkflow extends Component {
12802
12889
  * Gate model this workflow was built with, or `undefined` when ungated.
12803
12890
  */
12804
12891
  readonly gate?: DeployGate;
12892
+ /**
12893
+ * Resolved approval model. Concrete under every gate, and simply unused
12894
+ * outside `environment`.
12895
+ */
12896
+ readonly approvals: DeployApprovals;
12897
+ /**
12898
+ * GitHub environment the single `approve` job sits behind under
12899
+ * `approvals: "once"`, or `undefined` under `per-target`.
12900
+ */
12901
+ readonly approvalEnvironmentName?: string;
12805
12902
  /**
12806
12903
  * Resolved `plan-apply` settings. Every field is concrete so callers never
12807
12904
  * have to re-apply the defaults. Populated under every gate, and simply
@@ -12933,6 +13030,24 @@ declare class AwsDeployWorkflow extends Component {
12933
13030
  * @returns Condition string or empty string if no branches provided
12934
13031
  */
12935
13032
  private buildBranchFilterCondition;
13033
+ /**
13034
+ * Compose the single approval job's condition.
13035
+ *
13036
+ * Mirrors a deploy job's, with one difference forced by the job being shared:
13037
+ * the branch clause is the union of every target's, rather than one target's.
13038
+ * Without it a push to a branch no target deploys from would still pause for
13039
+ * an approval — prompting for a deployment that can never happen, and holding
13040
+ * the `complete` gate pending while it waits.
13041
+ *
13042
+ * A target with no branch filter deploys from every branch, so one of those
13043
+ * collapses the union to no clause at all.
13044
+ *
13045
+ * Deliberately no `!cancelled()`, unlike the diff report: a report is wanted
13046
+ * precisely when a diff failed, but an approval is not. GitHub's default —
13047
+ * skip a job whose `needs` failed — is what should happen here, and it
13048
+ * cascades to every deploy job waiting on the approval.
13049
+ */
13050
+ private buildApprovalCondition;
12936
13051
  /**
12937
13052
  * Steps for a target's deploy job.
12938
13053
  *
@@ -15179,5 +15294,5 @@ declare function pinPnpmActionSetup(project: Project): void;
15179
15294
  */
15180
15295
  declare function pinSetupNodeVersion(project: Project): void;
15181
15296
 
15182
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_REGISTRY_ENTRIES, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, AUDIT_CATEGORY_ORDER, AgentConfig, ApiExtractor, ApplyWorkflow, AstroConfig, AstroOutput, AstroProject, AuditCategory, AuditMode, AuditSeverity, AwsCdkProject, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, AwsTeardownWorkflow, BUILD_ARTIFACT_NAME, BUILT_IN_BUNDLES, BUNDLE_OWNERSHIP, CDK_BOOTSTRAP_DEFAULTS_BY_STAGE, CDK_DEPLOY_DEFAULTS_BY_STAGE, CDK_DEPLOY_METHOD, CDK_DESTROY_DEFAULTS_BY_STAGE, CDK_DIFF_DEFAULTS_BY_STAGE, CDK_DIFF_METHOD, CDK_GC_ACTION, CDK_GC_TYPE, CDK_INIT_LANGUAGE, CDK_INIT_TEMPLATE, CDK_PROGRESS, CDK_REQUIRE_APPROVAL, CDK_SYNTH_DEFAULTS_BY_STAGE, CDK_WATCH_DEFAULTS_BY_STAGE, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, CONVENTIONAL_COMMIT_TYPE_LABELS, CdkCli, DEFAULT_AC_THRESHOLDS, DEFAULT_AGENT_PATHS, DEFAULT_AGENT_TIERS, DEFAULT_API_EXTRACTOR_CONFIG_FILE, DEFAULT_API_EXTRACTOR_ENTRY_POINT, DEFAULT_API_EXTRACTOR_REPORT_FILENAME, DEFAULT_API_EXTRACTOR_REPORT_FOLDER, DEFAULT_AUDIT_REPORT_DIR, DEFAULT_BASE_CONVENTIONS, DEFAULT_BUILD_POLICY, DEFAULT_BUNDLE_OVERRIDES, DEFAULT_DECOMPOSITION_TEMPLATE, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_GITHUB_ISSUE_TYPE, DEFAULT_HOUSEKEEPING_MODEL, DEFAULT_ISSUE_PRIORITY, DEFAULT_ISSUE_STATUS, DEFAULT_ISSUE_TEMPLATES_BUNDLE_PATH_PATTERNS, DEFAULT_ISSUE_TEMPLATES_EMIT_CHECKER, DEFAULT_ISSUE_TEMPLATES_EMIT_STARTER, DEFAULT_ISSUE_TEMPLATES_ENABLED, DEFAULT_ISSUE_TEMPLATES_PATH, DEFAULT_ISSUE_TEMPLATES_REQUIRE_REFERENCE, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_ORCHESTRATOR_CONVENTIONS, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_PATHS_EXEMPT_FROM_SIZE, DEFAULT_PRIORITY_LABELS, DEFAULT_PRODUCT_CONTEXT_PATH, DEFAULT_PROGRESS_FILES_ENABLED, DEFAULT_PROGRESS_FILES_FILENAME_PATTERN, DEFAULT_PROGRESS_FILES_FORMAT, DEFAULT_PROGRESS_FILES_STALE_AFTER_HOURS, DEFAULT_PROGRESS_FILES_STATE_DIR, DEFAULT_REQUIREMENT_CATEGORY_DIRS, DEFAULT_REQUIRE_PRODUCT_CONTEXT, DEFAULT_RESOLVED_ISSUE_DEFAULTS, DEFAULT_RULE_CONVENTIONS, DEFAULT_SAMPLE_COMPILER_OPTIONS, DEFAULT_SCHEDULED_TASKS_ROOT, DEFAULT_SCHEDULED_TASK_ENTRIES, DEFAULT_SHARED_EDITING_CONFLICT_STRATEGY, DEFAULT_SHARED_EDITING_EMIT_HELPER, DEFAULT_SHARED_EDITING_ENABLED, DEFAULT_SHARED_EDITING_VERIFY_COMMIT, DEFAULT_SHARED_INDEX_PATHS, DEFAULT_SKILL_EVALS_EMIT_RUNNER, DEFAULT_SKILL_EVALS_ENABLED, DEFAULT_SKILL_EVALS_SKILLS_ROOT, DEFAULT_SOURCES_THRESHOLDS, DEFAULT_STATE_FILE_PATH, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TEMPORAL_FRAMING_CADENCES, DEFAULT_TEMPORAL_FRAMING_EMIT_CHECKER, DEFAULT_TEMPORAL_FRAMING_ENABLED, DEFAULT_TEMPORAL_FRAMING_PATHS, DEFAULT_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_UPSTREAM_CONFIGULATOR_ENABLED, DEPLOY_GATE, DIFF_ARTIFACT_NAME, DIFF_NEW_STACK_MARKER, DIFF_OUTPUT_DIRECTORY, DIFF_PART_ARTIFACT_PREFIX, DIFF_REPORT_JOB_ID, DOCS_SYNC_AUDIT_SCHEMA_VERSION, DiffReportJob, GITHUB_ISSUE_TYPES, GITHUB_ISSUE_TYPE_BY_TITLE_PREFIX, ISSUE_TEMPLATES_GENERATED_SUFFIX, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, MAX_LABEL_DESCRIPTION_LENGTH, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, MonorepoProject, Nvmrc, PERMISSION_BACKUP_FILE, PHASE_LABEL_TYPE_MAP, PLAN_RUN_ID_INPUT, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, ProjectMetadata, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ReactViteSiteProject, RequirementIssueTemplate, ResetTask, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SET_ISSUE_TYPE_HELPER_PATH, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, SUPPRESSED_WORKFLOW_RULE_NAMES, SampleLang, StarlightProject, TEMPORAL_FRAMING_CATEGORY_VALUES, TURBO_RUN_CONTINUE, TURBO_RUN_DRY_RUN, TURBO_RUN_LOG_ORDER, TURBO_RUN_LOG_PREFIX, TURBO_RUN_OUTPUT_LOGS, TestRunner, TsDocCoverageKind, TsdocConfig, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, UNKNOWN_TYPE_FALLBACK_TIER, VALIDATE_PLAN_JOB_ID, VALID_PRIORITY_VALUES, VALID_STATUS_VALUES, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, WorkflowHomeRepository, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addPlaywright, addStorybook, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, auditReportJsonSchema, awsCdkBundle, baseBundle, bcmWriterBundle, buildAgentRegistryRule, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildGithubWorkflowBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildMeetingAnalysisBundle, buildOrchestratorBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildPrReviewBundle, buildRegulatoryResearchBundle, buildReport, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildTurborepoBundle, buildUnblockDependentsProcedure, bundleNameForWorkflowRule, businessModelsBundle, checkClosingKeywordsProcedure, checkDocSamplesProcedure, checkLinksProcedure, classifyIssueScope, classifyRun, collectIssueTemplateRecipeStubs, companyProfileBundle, compileFencedSamples, createApiDiffCheck, createReferenceMismatchCheck, createTsdocCoverageCheck, customerProfileBundle, diffApiRollups, docsSyncBundle, emptyCategoryBuckets, extractApiProcedure, extractDocReferences, extractFencedSamples, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubIssueTypeForTitle, githubWorkflowBundle, hasAnyDocsEmittingBundle, hasAnyDownstreamIssueKindBundle, includeHiddenFilesInBuildArtifact, industryDiscoveryBundle, isPhaseLabelOwnedByExcluded, isScheduledTaskOwnedByExcluded, isSuppressedWorkflowRule, isTypeLabelOwnedByExcluded, issueTemplatesChildGlob, issueTemplatesGeneratedPath, jestBundle, labelsForPhase, maintenanceAuditBundle, meetingAnalysisBundle, mergeCdkOptions, nextRequirementIdProcedure, orchestratorBundle, parseApiRollup, peopleProfileBundle, persistAuditReport, pinPnpmActionSetup, pinSetupNodeVersion, pnpmBundle, prReviewBundle, projenBundle, referenceRecordToFinding, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCdkAcknowledge, renderCdkBootstrap, renderCdkContext, renderCdkDeploy, renderCdkDestroy, renderCdkDiff, renderCdkDocs, renderCdkDoctor, renderCdkDrift, renderCdkFlags, renderCdkGc, renderCdkImport, renderCdkInit, renderCdkList, renderCdkMetadata, renderCdkMigrate, renderCdkNotices, renderCdkOrphan, renderCdkPublishAssets, renderCdkRefactor, renderCdkRollback, renderCdkSynth, renderCdkWatch, renderCheckClosingKeywordsScript, renderCheckDocSamplesProcedure, renderCheckLinksProcedure, renderCustomDocSectionBlock, renderCustomDocSections, renderDiffPartUploadStep, renderExtractApiProcedure, renderFocusSection, renderGithubIssueTypeSection, renderGithubIssueTypeSectionLines, renderHomeRepositoryCondition, renderIssueTemplateLabelsCheckerScript, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesGeneratedPage, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderIssueTypeAssignmentBlanket, renderIssueTypeAssignmentStep, renderMeetingTypesSection, renderNextRequirementIdProcedure, renderPhaseTypeInvariantSection, renderPhaseTypeInvariantShellHelpers, renderPlanValidationScript, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRequirementBlock, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSetIssueTypeFallbackLines, renderSetupNode, renderSetupPnpm, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderStripToolArtifactTagsProcedure, renderTemporalFramingCheckerScript, renderTemporalFramingRuleContent, renderTitlePrefixTypeBullets, renderUnblockDependentsScript, renderUnblockDependentsSection, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveBuildPolicy, resolveEnvironmentGate, resolveIssueDefaults, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolveOverrideForLabels, resolvePrReviewPolicy, resolveProgressFiles, resolveReactViteSiteProjectOutdir, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTemporalFraming, resolveTypeLabelForLabels, resolveTypeScriptProjectOutdir, resolveUnblockDependents, runScan, slackBundle, softwareProfileBundle, standardsResearchBundle, stripToolArtifactTagsProcedure, tsdocRecordToFindings, turborepoBundle, typeLabelForPhaseLabel, typescriptBundle, upstreamConfigulatorDocsBundle, validateAgentTierConfig, validateIssueDefaultsConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePrReviewPolicyConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateTemporalFramingConfig, validateUnblockDependentsConfig, vitestBundle };
15183
- export type { ActionItemFilingConfig, ActivateBranchNameEnvVarOptions, AddStorybookOptions, AgentCommand, AgentConfigOptions, AgentExpansionRules, AgentFeaturesConfig, AgentModel, AgentPathsConfig, AgentPlatform, AgentPlatformOverrides, AgentProcedure, AgentRegistryEntry, AgentRule, AgentRuleBundle, AgentRuleScope, AgentSkill, AgentSubAgent, AgentSubAgentPlatformOverrides, AgentTier, AgentTierConfig, AgentTierEntry, AnalyzeTsDocCoverageOptions, ApiDiffCheckOptions, ApiDiffFinding, ApiDiffResult, ApiExtractorOptions, ApiExtractorReportOptions, ApiSurfaceEntry, ApplyWorkflowAttachOptions, ApplyWorkflowContract, ApplyWorkflowOptions, ApproveMergeUpgradeOptions, AstroConfigOptions, AstroIntegrationSpec, AstroProjectOptions, AuditCheckRunner, AuditCheckRunnerContext, AuditFinding, AuditFindingBase, AuditLocation, AuditReport, AwsAccount, AwsCdkProjectOptions, AwsDeploymentTargetOptions, AwsLocalDeploymentConfig, AwsOrganization, AwsRegion, AwsTeardownWorkflowOptions, BundleOwnership, CdkAcknowledgeOptions, CdkBootstrapOptions, CdkCliOptions, CdkContextOptions, CdkDeployMethod, CdkDeployOptions, CdkDestroyOptions, CdkDiffMethod, CdkDiffOptions, CdkDocsOptions, CdkDoctorOptions, CdkDriftOptions, CdkFlagsOptions, CdkGcAction, CdkGcOptions, CdkGcType, CdkGlobalOptions, CdkImportOptions, CdkInitLanguage, CdkInitOptions, CdkInitTemplate, CdkListOptions, CdkMetadataOptions, CdkMigrateOptions, CdkNoticesOptions, CdkOrphanOptions, CdkProgress, CdkPublishAssetsOptions, CdkRefactorOptions, CdkRequireApproval, CdkRollbackOptions, CdkSynthOptions, CdkTargetOverrides, CdkWatchOptions, CiDeploymentConfig, ClassTypeOptions, ClaudeAutoModeConfig, ClaudeHookAction, ClaudeHookEntry, ClaudeHooksConfig, ClaudeMdConfig, ClaudePermissionsConfig, ClaudeRuleTarget, ClaudeSandboxConfig, ClaudeSettingsConfig, CompileFencedSamplesOptions, CopilotHandoff, CursorHookAction, CursorHooksConfig, CursorSettingsConfig, CustomDocSection, DeployDiffOptions, DeployGate, DeployWorkflowOptions, DeploymentMetadata, DiffReportJobAttachOptions, DiffReportTarget, DocReferenceRecord, EffectiveScopeThresholds, ExtractDocReferencesOptions, ExtractFencedSamplesOptions, FencedSampleRecord, FocusArea, FocusAreaMatch, FocusConfig, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, GithubIssueType, IDependencyResolver, IssueDefaultsConfig, IssueDefaultsOverride, IssueDefaultsPriority, IssueDefaultsStatus, IssueTemplateRecipeStub, IssueTemplatesConfig, IssueTypeAssignmentStepOptions, LabelDefinition, LayoutEnforcement, LayoutViolation, LinkFailureFinding, McpServerConfig, McpTransport, MeetingArea, MeetingScope, MeetingType, MeetingTypeKind, MeetingsConfig, MergeMethod, MonorepoLayoutRoot, MonorepoPnpmOptions, MonorepoProjectOptions, OrganizationMetadata, PhaseLabelTypeOutcome, PhaseLabelTypeResolution, PlanApplyOptions, PlanValidationScriptOptions, PnpmWorkspaceOptions, PrReviewAutoMergeConfig, PrReviewCiVerificationConfig, PrReviewPolicyConfig, PriorityRule, ProgressFilesConfig, ProjectMetadataOptions, ReactViteSiteProjectOptions, ReferenceMismatchCheckOptions, ReferenceMismatchFinding, RemoteCacheOptions, RepositoryMetadata, RequirementBlockFields, RequirementCategoryDirsConfig, RequirementIssueTemplateOptions, ResetTaskOptions, ResolvedAgentPaths, ResolvedAgentTier, ResolvedBaseConventions, ResolvedBuildPolicy, ResolvedIssueDefaults, ResolvedIssueDefaultsEntry, ResolvedIssueTemplates, ResolvedOrchestratorConventions, ResolvedPrReviewAutoMerge, ResolvedPrReviewPolicy, ResolvedProgressFiles, ResolvedProjectMetadata, ResolvedRequirementCategoryDirs, ResolvedRuleConventions, ResolvedRunRatio, ResolvedScheduledTask, ResolvedScheduledTasks, ResolvedScopeGate, ResolvedScopeGateBundleOverride, ResolvedSharedEditing, ResolvedSkillEvals, ResolvedTemporalFraming, ResolvedUnblockDependents, RunRatioConfig, RunScanOptions, RunScanResult, SampleCompilationFailure, SampleFailureFinding, ScheduledTaskEntry, ScheduledTaskModel, ScheduledTaskOverride, ScheduledTasksConfig, ScopeClass, ScopeGateBundleOverride, ScopeGateConfig, ScopeGateThresholds, SharedEditingConfig, SkillEvalsConfig, SlackMetadata, SourceTierExamples, StarlightEditLink, StarlightLogo, StarlightProjectOptions, StarlightRole, StarlightSidebarItem, StarlightSingletonViolation, StarlightSocialLink, SyncLabelsOptions, TemplateResolveResult, TemporalFramingCategory, TemporalFramingConfig, TsDocCoverageRecord, TsdocConfigOptions, TsdocCoverageCheckOptions, TsdocCoverageFinding, TurboRepoOptions, TurboRepoTaskOptions, TurboRunContinue, TurboRunDryRun, TurboRunLogOrder, TurboRunLogPrefix, TurboRunOptions, TurboRunOutputLogs, TypeScriptProjectOptions, UnblockDependentsConfig, UpstreamConfigulatorConfig, VersionKey, VitestConfigOptions, VitestOptions, WorkflowHomeRepositoryOptions };
15297
+ export { AGENT_MODEL, AGENT_PLATFORM, AGENT_REGISTRY_ENTRIES, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, APPROVE_JOB_ID, AUDIT_CATEGORY_ORDER, AgentConfig, ApiExtractor, ApplyWorkflow, AstroConfig, AstroOutput, AstroProject, AuditCategory, AuditMode, AuditSeverity, AwsCdkProject, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, AwsTeardownWorkflow, BUILD_ARTIFACT_NAME, BUILT_IN_BUNDLES, BUNDLE_OWNERSHIP, CDK_BOOTSTRAP_DEFAULTS_BY_STAGE, CDK_DEPLOY_DEFAULTS_BY_STAGE, CDK_DEPLOY_METHOD, CDK_DESTROY_DEFAULTS_BY_STAGE, CDK_DIFF_DEFAULTS_BY_STAGE, CDK_DIFF_METHOD, CDK_GC_ACTION, CDK_GC_TYPE, CDK_INIT_LANGUAGE, CDK_INIT_TEMPLATE, CDK_PROGRESS, CDK_REQUIRE_APPROVAL, CDK_SYNTH_DEFAULTS_BY_STAGE, CDK_WATCH_DEFAULTS_BY_STAGE, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, CONVENTIONAL_COMMIT_TYPE_LABELS, CdkCli, DEFAULT_AC_THRESHOLDS, DEFAULT_AGENT_PATHS, DEFAULT_AGENT_TIERS, DEFAULT_API_EXTRACTOR_CONFIG_FILE, DEFAULT_API_EXTRACTOR_ENTRY_POINT, DEFAULT_API_EXTRACTOR_REPORT_FILENAME, DEFAULT_API_EXTRACTOR_REPORT_FOLDER, DEFAULT_AUDIT_REPORT_DIR, DEFAULT_BASE_CONVENTIONS, DEFAULT_BUILD_POLICY, DEFAULT_BUNDLE_OVERRIDES, DEFAULT_DECOMPOSITION_TEMPLATE, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_GITHUB_ISSUE_TYPE, DEFAULT_HOUSEKEEPING_MODEL, DEFAULT_ISSUE_PRIORITY, DEFAULT_ISSUE_STATUS, DEFAULT_ISSUE_TEMPLATES_BUNDLE_PATH_PATTERNS, DEFAULT_ISSUE_TEMPLATES_EMIT_CHECKER, DEFAULT_ISSUE_TEMPLATES_EMIT_STARTER, DEFAULT_ISSUE_TEMPLATES_ENABLED, DEFAULT_ISSUE_TEMPLATES_PATH, DEFAULT_ISSUE_TEMPLATES_REQUIRE_REFERENCE, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_ORCHESTRATOR_CONVENTIONS, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_PATHS_EXEMPT_FROM_SIZE, DEFAULT_PRIORITY_LABELS, DEFAULT_PRODUCT_CONTEXT_PATH, DEFAULT_PROGRESS_FILES_ENABLED, DEFAULT_PROGRESS_FILES_FILENAME_PATTERN, DEFAULT_PROGRESS_FILES_FORMAT, DEFAULT_PROGRESS_FILES_STALE_AFTER_HOURS, DEFAULT_PROGRESS_FILES_STATE_DIR, DEFAULT_REQUIREMENT_CATEGORY_DIRS, DEFAULT_REQUIRE_PRODUCT_CONTEXT, DEFAULT_RESOLVED_ISSUE_DEFAULTS, DEFAULT_RULE_CONVENTIONS, DEFAULT_SAMPLE_COMPILER_OPTIONS, DEFAULT_SCHEDULED_TASKS_ROOT, DEFAULT_SCHEDULED_TASK_ENTRIES, DEFAULT_SHARED_EDITING_CONFLICT_STRATEGY, DEFAULT_SHARED_EDITING_EMIT_HELPER, DEFAULT_SHARED_EDITING_ENABLED, DEFAULT_SHARED_EDITING_VERIFY_COMMIT, DEFAULT_SHARED_INDEX_PATHS, DEFAULT_SKILL_EVALS_EMIT_RUNNER, DEFAULT_SKILL_EVALS_ENABLED, DEFAULT_SKILL_EVALS_SKILLS_ROOT, DEFAULT_SOURCES_THRESHOLDS, DEFAULT_STATE_FILE_PATH, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TEMPORAL_FRAMING_CADENCES, DEFAULT_TEMPORAL_FRAMING_EMIT_CHECKER, DEFAULT_TEMPORAL_FRAMING_ENABLED, DEFAULT_TEMPORAL_FRAMING_PATHS, DEFAULT_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_UPSTREAM_CONFIGULATOR_ENABLED, DEPLOY_APPROVALS, DEPLOY_GATE, DIFF_ARTIFACT_NAME, DIFF_NEW_STACK_MARKER, DIFF_OUTPUT_DIRECTORY, DIFF_PART_ARTIFACT_PREFIX, DIFF_REPORT_JOB_ID, DOCS_SYNC_AUDIT_SCHEMA_VERSION, DiffReportJob, GITHUB_ISSUE_TYPES, GITHUB_ISSUE_TYPE_BY_TITLE_PREFIX, ISSUE_TEMPLATES_GENERATED_SUFFIX, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, MAX_LABEL_DESCRIPTION_LENGTH, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, MonorepoProject, Nvmrc, PERMISSION_BACKUP_FILE, PHASE_LABEL_TYPE_MAP, PLAN_RUN_ID_INPUT, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, ProjectMetadata, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ReactViteSiteProject, RequirementIssueTemplate, ResetTask, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SET_ISSUE_TYPE_HELPER_PATH, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, SUPPRESSED_WORKFLOW_RULE_NAMES, SampleLang, StarlightProject, TEMPORAL_FRAMING_CATEGORY_VALUES, TURBO_RUN_CONTINUE, TURBO_RUN_DRY_RUN, TURBO_RUN_LOG_ORDER, TURBO_RUN_LOG_PREFIX, TURBO_RUN_OUTPUT_LOGS, TestRunner, TsDocCoverageKind, TsdocConfig, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, UNKNOWN_TYPE_FALLBACK_TIER, VALIDATE_PLAN_JOB_ID, VALID_PRIORITY_VALUES, VALID_STATUS_VALUES, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, WorkflowHomeRepository, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addPlaywright, addStorybook, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, auditReportJsonSchema, awsCdkBundle, baseBundle, bcmWriterBundle, buildAgentRegistryRule, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildGithubWorkflowBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildMeetingAnalysisBundle, buildOrchestratorBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildPrReviewBundle, buildRegulatoryResearchBundle, buildReport, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildTurborepoBundle, buildUnblockDependentsProcedure, bundleNameForWorkflowRule, businessModelsBundle, checkClosingKeywordsProcedure, checkDocSamplesProcedure, checkLinksProcedure, classifyIssueScope, classifyRun, collectIssueTemplateRecipeStubs, companyProfileBundle, compileFencedSamples, createApiDiffCheck, createReferenceMismatchCheck, createTsdocCoverageCheck, customerProfileBundle, diffApiRollups, docsSyncBundle, emptyCategoryBuckets, extractApiProcedure, extractDocReferences, extractFencedSamples, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubIssueTypeForTitle, githubWorkflowBundle, hasAnyDocsEmittingBundle, hasAnyDownstreamIssueKindBundle, includeHiddenFilesInBuildArtifact, industryDiscoveryBundle, isPhaseLabelOwnedByExcluded, isScheduledTaskOwnedByExcluded, isSuppressedWorkflowRule, isTypeLabelOwnedByExcluded, issueTemplatesChildGlob, issueTemplatesGeneratedPath, jestBundle, labelsForPhase, maintenanceAuditBundle, meetingAnalysisBundle, mergeCdkOptions, nextRequirementIdProcedure, orchestratorBundle, parseApiRollup, peopleProfileBundle, persistAuditReport, pinPnpmActionSetup, pinSetupNodeVersion, pnpmBundle, prReviewBundle, projenBundle, referenceRecordToFinding, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCdkAcknowledge, renderCdkBootstrap, renderCdkContext, renderCdkDeploy, renderCdkDestroy, renderCdkDiff, renderCdkDocs, renderCdkDoctor, renderCdkDrift, renderCdkFlags, renderCdkGc, renderCdkImport, renderCdkInit, renderCdkList, renderCdkMetadata, renderCdkMigrate, renderCdkNotices, renderCdkOrphan, renderCdkPublishAssets, renderCdkRefactor, renderCdkRollback, renderCdkSynth, renderCdkWatch, renderCheckClosingKeywordsScript, renderCheckDocSamplesProcedure, renderCheckLinksProcedure, renderCustomDocSectionBlock, renderCustomDocSections, renderDiffPartUploadStep, renderExtractApiProcedure, renderFocusSection, renderGithubIssueTypeSection, renderGithubIssueTypeSectionLines, renderHomeRepositoryCondition, renderIssueTemplateLabelsCheckerScript, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesGeneratedPage, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderIssueTypeAssignmentBlanket, renderIssueTypeAssignmentStep, renderMeetingTypesSection, renderNextRequirementIdProcedure, renderPhaseTypeInvariantSection, renderPhaseTypeInvariantShellHelpers, renderPlanValidationScript, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRequirementBlock, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSetIssueTypeFallbackLines, renderSetupNode, renderSetupPnpm, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderStripToolArtifactTagsProcedure, renderTemporalFramingCheckerScript, renderTemporalFramingRuleContent, renderTitlePrefixTypeBullets, renderUnblockDependentsScript, renderUnblockDependentsSection, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveApprovalGate, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveBuildPolicy, resolveEnvironmentGate, resolveIssueDefaults, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolveOverrideForLabels, resolvePrReviewPolicy, resolveProgressFiles, resolveReactViteSiteProjectOutdir, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTemporalFraming, resolveTypeLabelForLabels, resolveTypeScriptProjectOutdir, resolveUnblockDependents, runScan, slackBundle, softwareProfileBundle, standardsResearchBundle, stripToolArtifactTagsProcedure, tsdocRecordToFindings, turborepoBundle, typeLabelForPhaseLabel, typescriptBundle, upstreamConfigulatorDocsBundle, validateAgentTierConfig, validateIssueDefaultsConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePrReviewPolicyConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateTemporalFramingConfig, validateUnblockDependentsConfig, vitestBundle };
15298
+ export type { ActionItemFilingConfig, ActivateBranchNameEnvVarOptions, AddStorybookOptions, AgentCommand, AgentConfigOptions, AgentExpansionRules, AgentFeaturesConfig, AgentModel, AgentPathsConfig, AgentPlatform, AgentPlatformOverrides, AgentProcedure, AgentRegistryEntry, AgentRule, AgentRuleBundle, AgentRuleScope, AgentSkill, AgentSubAgent, AgentSubAgentPlatformOverrides, AgentTier, AgentTierConfig, AgentTierEntry, AnalyzeTsDocCoverageOptions, ApiDiffCheckOptions, ApiDiffFinding, ApiDiffResult, ApiExtractorOptions, ApiExtractorReportOptions, ApiSurfaceEntry, ApplyWorkflowAttachOptions, ApplyWorkflowContract, ApplyWorkflowOptions, ApproveMergeUpgradeOptions, AstroConfigOptions, AstroIntegrationSpec, AstroProjectOptions, AuditCheckRunner, AuditCheckRunnerContext, AuditFinding, AuditFindingBase, AuditLocation, AuditReport, AwsAccount, AwsCdkProjectOptions, AwsDeploymentTargetOptions, AwsLocalDeploymentConfig, AwsOrganization, AwsRegion, AwsTeardownWorkflowOptions, BundleOwnership, CdkAcknowledgeOptions, CdkBootstrapOptions, CdkCliOptions, CdkContextOptions, CdkDeployMethod, CdkDeployOptions, CdkDestroyOptions, CdkDiffMethod, CdkDiffOptions, CdkDocsOptions, CdkDoctorOptions, CdkDriftOptions, CdkFlagsOptions, CdkGcAction, CdkGcOptions, CdkGcType, CdkGlobalOptions, CdkImportOptions, CdkInitLanguage, CdkInitOptions, CdkInitTemplate, CdkListOptions, CdkMetadataOptions, CdkMigrateOptions, CdkNoticesOptions, CdkOrphanOptions, CdkProgress, CdkPublishAssetsOptions, CdkRefactorOptions, CdkRequireApproval, CdkRollbackOptions, CdkSynthOptions, CdkTargetOverrides, CdkWatchOptions, CiDeploymentConfig, ClassTypeOptions, ClaudeAutoModeConfig, ClaudeHookAction, ClaudeHookEntry, ClaudeHooksConfig, ClaudeMdConfig, ClaudePermissionsConfig, ClaudeRuleTarget, ClaudeSandboxConfig, ClaudeSettingsConfig, CompileFencedSamplesOptions, CopilotHandoff, CursorHookAction, CursorHooksConfig, CursorSettingsConfig, CustomDocSection, DeployApprovals, DeployDiffOptions, DeployGate, DeployWorkflowOptions, DeploymentMetadata, DiffReportJobAttachOptions, DiffReportTarget, DocReferenceRecord, EffectiveScopeThresholds, ExtractDocReferencesOptions, ExtractFencedSamplesOptions, FencedSampleRecord, FocusArea, FocusAreaMatch, FocusConfig, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, GithubIssueType, IDependencyResolver, IssueDefaultsConfig, IssueDefaultsOverride, IssueDefaultsPriority, IssueDefaultsStatus, IssueTemplateRecipeStub, IssueTemplatesConfig, IssueTypeAssignmentStepOptions, LabelDefinition, LayoutEnforcement, LayoutViolation, LinkFailureFinding, McpServerConfig, McpTransport, MeetingArea, MeetingScope, MeetingType, MeetingTypeKind, MeetingsConfig, MergeMethod, MonorepoLayoutRoot, MonorepoPnpmOptions, MonorepoProjectOptions, OrganizationMetadata, PhaseLabelTypeOutcome, PhaseLabelTypeResolution, PlanApplyOptions, PlanValidationScriptOptions, PnpmWorkspaceOptions, PrReviewAutoMergeConfig, PrReviewCiVerificationConfig, PrReviewPolicyConfig, PriorityRule, ProgressFilesConfig, ProjectMetadataOptions, ReactViteSiteProjectOptions, ReferenceMismatchCheckOptions, ReferenceMismatchFinding, RemoteCacheOptions, RepositoryMetadata, RequirementBlockFields, RequirementCategoryDirsConfig, RequirementIssueTemplateOptions, ResetTaskOptions, ResolvedAgentPaths, ResolvedAgentTier, ResolvedBaseConventions, ResolvedBuildPolicy, ResolvedIssueDefaults, ResolvedIssueDefaultsEntry, ResolvedIssueTemplates, ResolvedOrchestratorConventions, ResolvedPrReviewAutoMerge, ResolvedPrReviewPolicy, ResolvedProgressFiles, ResolvedProjectMetadata, ResolvedRequirementCategoryDirs, ResolvedRuleConventions, ResolvedRunRatio, ResolvedScheduledTask, ResolvedScheduledTasks, ResolvedScopeGate, ResolvedScopeGateBundleOverride, ResolvedSharedEditing, ResolvedSkillEvals, ResolvedTemporalFraming, ResolvedUnblockDependents, RunRatioConfig, RunScanOptions, RunScanResult, SampleCompilationFailure, SampleFailureFinding, ScheduledTaskEntry, ScheduledTaskModel, ScheduledTaskOverride, ScheduledTasksConfig, ScopeClass, ScopeGateBundleOverride, ScopeGateConfig, ScopeGateThresholds, SharedEditingConfig, SkillEvalsConfig, SlackMetadata, SourceTierExamples, StarlightEditLink, StarlightLogo, StarlightProjectOptions, StarlightRole, StarlightSidebarItem, StarlightSingletonViolation, StarlightSocialLink, SyncLabelsOptions, TemplateResolveResult, TemporalFramingCategory, TemporalFramingConfig, TsDocCoverageRecord, TsdocConfigOptions, TsdocCoverageCheckOptions, TsdocCoverageFinding, TurboRepoOptions, TurboRepoTaskOptions, TurboRunContinue, TurboRunDryRun, TurboRunLogOrder, TurboRunLogPrefix, TurboRunOptions, TurboRunOutputLogs, TypeScriptProjectOptions, UnblockDependentsConfig, UpstreamConfigulatorConfig, VersionKey, VitestConfigOptions, VitestOptions, WorkflowHomeRepositoryOptions };
package/lib/index.js CHANGED
@@ -181,6 +181,7 @@ __export(index_exports, {
181
181
  AGENT_RULE_SCOPE: () => AGENT_RULE_SCOPE,
182
182
  AGENT_TIER_ROLES: () => AGENT_TIER_ROLES,
183
183
  AGENT_TIER_VALUES: () => AGENT_TIER_VALUES,
184
+ APPROVE_JOB_ID: () => APPROVE_JOB_ID,
184
185
  AUDIT_CATEGORY_ORDER: () => AUDIT_CATEGORY_ORDER,
185
186
  AgentConfig: () => AgentConfig,
186
187
  ApiExtractor: () => ApiExtractor,
@@ -279,6 +280,7 @@ __export(index_exports, {
279
280
  DEFAULT_UNBLOCK_COMMENT_TEMPLATE: () => DEFAULT_UNBLOCK_COMMENT_TEMPLATE,
280
281
  DEFAULT_UNBLOCK_DEPENDENTS_ENABLED: () => DEFAULT_UNBLOCK_DEPENDENTS_ENABLED,
281
282
  DEFAULT_UPSTREAM_CONFIGULATOR_ENABLED: () => DEFAULT_UPSTREAM_CONFIGULATOR_ENABLED,
283
+ DEPLOY_APPROVALS: () => DEPLOY_APPROVALS,
282
284
  DEPLOY_GATE: () => DEPLOY_GATE,
283
285
  DIFF_ARTIFACT_NAME: () => DIFF_ARTIFACT_NAME,
284
286
  DIFF_NEW_STACK_MARKER: () => DIFF_NEW_STACK_MARKER,
@@ -519,6 +521,7 @@ __export(index_exports, {
519
521
  researchPipelineBundle: () => researchPipelineBundle,
520
522
  resolveAgentPaths: () => resolveAgentPaths,
521
523
  resolveAgentTiers: () => resolveAgentTiers,
524
+ resolveApprovalGate: () => resolveApprovalGate,
522
525
  resolveAstroProjectOutdir: () => resolveAstroProjectOutdir,
523
526
  resolveAwsCdkProjectOutdir: () => resolveAwsCdkProjectOutdir,
524
527
  resolveBuildPolicy: () => resolveBuildPolicy,
@@ -42588,6 +42591,54 @@ var DEPLOY_GATE = {
42588
42591
  */
42589
42592
  PLAN_APPLY: "plan-apply"
42590
42593
  };
42594
+ var DEPLOY_APPROVALS = {
42595
+ /**
42596
+ * One approval per deploy job. The environment sits on every deploy job, so
42597
+ * each reaches its protection rules on its own — and deploy jobs chained by
42598
+ * `deployAfterTargets` reach them one at a time, with a full deploy between
42599
+ * each prompt.
42600
+ */
42601
+ PER_TARGET: "per-target",
42602
+ /**
42603
+ * One approval for the whole run. A dedicated approval job carries the
42604
+ * required-reviewer rule and every deploy job waits on it, so the operator
42605
+ * approves once and the rest of the run proceeds unattended.
42606
+ *
42607
+ * Requires `approvalEnvironmentName`, and it must name a *different*
42608
+ * environment than the deploy jobs' — the deploy jobs keep their own
42609
+ * `environment` so their OIDC subject claims, environment-scoped secrets,
42610
+ * and per-stack deployment history are untouched.
42611
+ */
42612
+ ONCE: "once"
42613
+ };
42614
+ var APPROVE_JOB_ID = "approve";
42615
+ var resolveApprovalGate = (gate, approvals, approvalEnvironmentName, environmentName, componentName) => {
42616
+ const trimmed = approvalEnvironmentName?.trim();
42617
+ if (approvals !== DEPLOY_APPROVALS.ONCE) {
42618
+ if (trimmed) {
42619
+ throw new Error(
42620
+ `${componentName} requires \`approvals\` to be "${DEPLOY_APPROVALS.ONCE}" when \`approvalEnvironmentName\` is supplied, got "${approvalEnvironmentName}" with \`approvals\` ${approvals ? `"${approvals}"` : "unset"}`
42621
+ );
42622
+ }
42623
+ return void 0;
42624
+ }
42625
+ if (gate !== DEPLOY_GATE.ENVIRONMENT) {
42626
+ throw new Error(
42627
+ `${componentName} requires \`gate\` to be "${DEPLOY_GATE.ENVIRONMENT}" when \`approvals\` is "${DEPLOY_APPROVALS.ONCE}", got ${gate ? `"${gate}"` : "no gate"}`
42628
+ );
42629
+ }
42630
+ if (!trimmed) {
42631
+ throw new Error(
42632
+ `${componentName} requires a non-empty \`approvalEnvironmentName\` when \`approvals\` is "${DEPLOY_APPROVALS.ONCE}"`
42633
+ );
42634
+ }
42635
+ if (trimmed === environmentName?.trim()) {
42636
+ throw new Error(
42637
+ `${componentName} requires \`approvalEnvironmentName\` to name a different environment than \`environmentName\`, got "${trimmed}" for both \u2014 a shared environment puts the reviewer rule back on every deploy job, which is the per-target prompting "${DEPLOY_APPROVALS.ONCE}" exists to remove`
42638
+ );
42639
+ }
42640
+ return trimmed;
42641
+ };
42591
42642
  var resolveEnvironmentGate = (gate, environmentName, componentName) => {
42592
42643
  const trimmed = environmentName?.trim();
42593
42644
  if (gate === void 0) {
@@ -43216,6 +43267,35 @@ var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen29.Compone
43216
43267
  }
43217
43268
  return conditions.join(" || ");
43218
43269
  };
43270
+ /**
43271
+ * Compose the single approval job's condition.
43272
+ *
43273
+ * Mirrors a deploy job's, with one difference forced by the job being shared:
43274
+ * the branch clause is the union of every target's, rather than one target's.
43275
+ * Without it a push to a branch no target deploys from would still pause for
43276
+ * an approval — prompting for a deployment that can never happen, and holding
43277
+ * the `complete` gate pending while it waits.
43278
+ *
43279
+ * A target with no branch filter deploys from every branch, so one of those
43280
+ * collapses the union to no clause at all.
43281
+ *
43282
+ * Deliberately no `!cancelled()`, unlike the diff report: a report is wanted
43283
+ * precisely when a diff failed, but an approval is not. GitHub's default —
43284
+ * skip a job whose `needs` failed — is what should happen here, and it
43285
+ * cascades to every deploy job waiting on the approval.
43286
+ */
43287
+ this.buildApprovalCondition = (homeRepositoryCondition) => {
43288
+ const branchConditions = this.awsDeploymentTargets.map(
43289
+ (target) => this.buildBranchFilterCondition(target.branches)
43290
+ );
43291
+ const anyBranch = branchConditions.some((condition) => !condition);
43292
+ const branchClause = anyBranch ? void 0 : Array.from(new Set(branchConditions)).join(" || ");
43293
+ return "${{ " + [
43294
+ "!needs.build.outputs.self_mutation_happened",
43295
+ ...homeRepositoryCondition ? [homeRepositoryCondition] : [],
43296
+ ...branchClause ? [`(${branchClause})`] : []
43297
+ ].join(" && ") + " }}";
43298
+ };
43219
43299
  /**
43220
43300
  * Steps for a target's deploy job.
43221
43301
  *
@@ -43515,6 +43595,14 @@ var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen29.Compone
43515
43595
  options.environmentName,
43516
43596
  "AwsDeployWorkflow"
43517
43597
  );
43598
+ this.approvals = options.approvals ?? DEPLOY_APPROVALS.PER_TARGET;
43599
+ this.approvalEnvironmentName = resolveApprovalGate(
43600
+ options.gate,
43601
+ options.approvals,
43602
+ options.approvalEnvironmentName,
43603
+ this.environmentName,
43604
+ "AwsDeployWorkflow"
43605
+ );
43518
43606
  this.homeRepository = options.homeRepository;
43519
43607
  const homeRepositoryCondition = renderHomeRepositoryCondition(
43520
43608
  this.homeRepository,
@@ -43652,6 +43740,7 @@ var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen29.Compone
43652
43740
  needs: [
43653
43741
  "build",
43654
43742
  ...gatedOnDiff ? [DIFF_REPORT_JOB_ID] : [],
43743
+ ...this.approvalEnvironmentName ? [APPROVE_JOB_ID] : [],
43655
43744
  ...this.deployAfterTargets.map((p) => {
43656
43745
  return this.buildJobName(p);
43657
43746
  })
@@ -43698,6 +43787,35 @@ var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen29.Compone
43698
43787
  }))
43699
43788
  });
43700
43789
  }
43790
+ if (this.approvalEnvironmentName && this.awsDeploymentTargets.length > 0) {
43791
+ if (this.buildWorkflow.workflow.getJob(APPROVE_JOB_ID)) {
43792
+ throw new Error(
43793
+ `AwsDeployWorkflow cannot add a second \`approvals: "${DEPLOY_APPROVALS.ONCE}"\` gate to the workflow "${this.buildWorkflow.name}": the job id "${APPROVE_JOB_ID}" is already taken. One approval job releases every deploy job in the file, so give the components separate build workflows if they must be approved separately.`
43794
+ );
43795
+ }
43796
+ const gatedOnDiff = this.diffOptions.enabled;
43797
+ this.buildWorkflow.workflow.addJob(APPROVE_JOB_ID, {
43798
+ name: `Approve ${this.project.name} ${this.awsStageType} deployment`,
43799
+ needs: ["build", ...gatedOnDiff ? [DIFF_REPORT_JOB_ID] : []],
43800
+ runsOn: ["ubuntu-latest"],
43801
+ /**
43802
+ * Nothing to read and nothing to write: the job exists so GitHub holds
43803
+ * it at the environment's protection rules, and its only step records
43804
+ * that it cleared them.
43805
+ */
43806
+ permissions: {
43807
+ contents: import_workflows_model7.JobPermission.NONE
43808
+ },
43809
+ environment: this.approvalEnvironmentName,
43810
+ if: this.buildApprovalCondition(homeRepositoryCondition),
43811
+ steps: [
43812
+ {
43813
+ name: "Record approval",
43814
+ run: `echo "Approved \u2014 releasing every ${this.awsStageType} deploy job in this run." >> "$GITHUB_STEP_SUMMARY"`
43815
+ }
43816
+ ]
43817
+ });
43818
+ }
43701
43819
  addBuildCompleteJob(this.buildWorkflow);
43702
43820
  }
43703
43821
  static of(project, buildWorkflow) {
@@ -44658,6 +44776,7 @@ export const collections = {
44658
44776
  AGENT_RULE_SCOPE,
44659
44777
  AGENT_TIER_ROLES,
44660
44778
  AGENT_TIER_VALUES,
44779
+ APPROVE_JOB_ID,
44661
44780
  AUDIT_CATEGORY_ORDER,
44662
44781
  AgentConfig,
44663
44782
  ApiExtractor,
@@ -44756,6 +44875,7 @@ export const collections = {
44756
44875
  DEFAULT_UNBLOCK_COMMENT_TEMPLATE,
44757
44876
  DEFAULT_UNBLOCK_DEPENDENTS_ENABLED,
44758
44877
  DEFAULT_UPSTREAM_CONFIGULATOR_ENABLED,
44878
+ DEPLOY_APPROVALS,
44759
44879
  DEPLOY_GATE,
44760
44880
  DIFF_ARTIFACT_NAME,
44761
44881
  DIFF_NEW_STACK_MARKER,
@@ -44996,6 +45116,7 @@ export const collections = {
44996
45116
  researchPipelineBundle,
44997
45117
  resolveAgentPaths,
44998
45118
  resolveAgentTiers,
45119
+ resolveApprovalGate,
44999
45120
  resolveAstroProjectOutdir,
45000
45121
  resolveAwsCdkProjectOutdir,
45001
45122
  resolveBuildPolicy,