@codedrifters/configulator 0.0.269 → 0.0.270

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
@@ -6329,6 +6329,125 @@ interface AwsOrganization {
6329
6329
  accounts: Array<AwsAccount>;
6330
6330
  }
6331
6331
 
6332
+ /**
6333
+ * One row in the TSDoc-coverage report — describes a single public
6334
+ * symbol exported (transitively) from the package's entry point and
6335
+ * the TSDoc presence flags computed for it.
6336
+ */
6337
+ interface TsDocCoverageRecord {
6338
+ /**
6339
+ * The public name of the symbol as it is exported from the package
6340
+ * entry point (post-rename for `export { X as Y }` re-exports).
6341
+ */
6342
+ readonly symbol: string;
6343
+ /**
6344
+ * Compiler kind label for the declaration backing the symbol — one
6345
+ * of `Class`, `Interface`, `TypeAlias`, `Enum`, `Function`,
6346
+ * `Variable`, `Module`, `Default`, or `Other`. Useful for grouping
6347
+ * findings in the audit report.
6348
+ */
6349
+ readonly kind: TsDocCoverageKind;
6350
+ /**
6351
+ * Source location of the underlying declaration (1-indexed line
6352
+ * number, file path absolute on disk).
6353
+ */
6354
+ readonly location: {
6355
+ readonly file: string;
6356
+ readonly line: number;
6357
+ };
6358
+ /**
6359
+ * `true` when the declaration carries a TSDoc block whose
6360
+ * `summarySection` is non-empty (i.e. there is at least one
6361
+ * paragraph of summary prose).
6362
+ */
6363
+ readonly hasSummary: boolean;
6364
+ /**
6365
+ * `true` when the declaration carries a summary that exists but is
6366
+ * shorter than the configured `thinSummaryWordThreshold` — useful
6367
+ * for advisory-level findings that do not block.
6368
+ */
6369
+ readonly hasThinSummary: boolean;
6370
+ /**
6371
+ * `true` when the declaration carries at least one `@param` block
6372
+ * tag. Always `false` for kinds that have no parameters
6373
+ * (`Variable`, `TypeAlias`, etc.).
6374
+ */
6375
+ readonly hasParams: boolean;
6376
+ /**
6377
+ * `true` when the declaration carries a `@returns` block tag.
6378
+ * Always `false` for kinds without a return value.
6379
+ */
6380
+ readonly hasReturns: boolean;
6381
+ }
6382
+ /**
6383
+ * Compiler-kind label attached to each coverage record.
6384
+ */
6385
+ declare const TsDocCoverageKind: {
6386
+ readonly Class: "Class";
6387
+ readonly Interface: "Interface";
6388
+ readonly TypeAlias: "TypeAlias";
6389
+ readonly Enum: "Enum";
6390
+ readonly Function: "Function";
6391
+ readonly Variable: "Variable";
6392
+ readonly Module: "Module";
6393
+ readonly Default: "Default";
6394
+ readonly Other: "Other";
6395
+ };
6396
+ /**
6397
+ * String-literal type matching the values of {@link TsDocCoverageKind}.
6398
+ */
6399
+ type TsDocCoverageKind = (typeof TsDocCoverageKind)[keyof typeof TsDocCoverageKind];
6400
+ /**
6401
+ * Options accepted by `analyzeTsDocCoverage`.
6402
+ */
6403
+ interface AnalyzeTsDocCoverageOptions {
6404
+ /**
6405
+ * Absolute path to the package root (the directory that contains
6406
+ * `tsconfig.json` and `src/`).
6407
+ */
6408
+ readonly packageRoot: string;
6409
+ /**
6410
+ * Entry point relative to `packageRoot`. Defaults to
6411
+ * `src/index.ts` — the convention used by every package in the
6412
+ * monorepo.
6413
+ *
6414
+ * @default "src/index.ts"
6415
+ */
6416
+ readonly entryPoint?: string;
6417
+ /**
6418
+ * Word threshold below which a TSDoc summary is flagged as
6419
+ * "thin" (advisory only — does not zero-out `hasSummary`). A
6420
+ * summary with exactly this many words is considered thin.
6421
+ *
6422
+ * @default 4
6423
+ */
6424
+ readonly thinSummaryWordThreshold?: number;
6425
+ /**
6426
+ * Optional explicit path to a `tsconfig.json`. When omitted, the
6427
+ * utility runs with a built-in compiler-options set tailored for
6428
+ * AST analysis (no emit, ESNext target, NodeNext module
6429
+ * resolution). The built-in options are sufficient for every
6430
+ * coverage scan in the docs-sync pipeline; consumers only set
6431
+ * this when their package uses an unusual module-resolution
6432
+ * strategy that affects symbol resolution.
6433
+ */
6434
+ readonly tsconfigPath?: string;
6435
+ }
6436
+ /**
6437
+ * Walks a package's public exports, transitively resolving
6438
+ * `export *` and `export { X } from "..."` re-exports through the
6439
+ * TypeScript compiler API, and reports TSDoc presence flags for
6440
+ * every public symbol.
6441
+ *
6442
+ * Internal symbols (anything not transitively re-exported from
6443
+ * `entryPoint`) never appear in the result — the report describes
6444
+ * the package's *public surface area*, not its internal modules.
6445
+ *
6446
+ * @param options - Either an options object or, as a shorthand, the
6447
+ * absolute path to the package root.
6448
+ */
6449
+ declare function analyzeTsDocCoverage(options: AnalyzeTsDocCoverageOptions | string): Array<TsDocCoverageRecord>;
6450
+
6332
6451
  /**
6333
6452
  * Returns the latest full-release version of an npm package that has been
6334
6453
  * published for at least `minimumReleaseAgeMinutes` minutes. Prefers the
@@ -8228,4 +8347,4 @@ declare const COMPLETE_JOB_ID = "complete";
8228
8347
  */
8229
8348
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
8230
8349
 
8231
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, AgentConfig, type AgentConfigOptions, type AgentExpansionRules, type AgentFeaturesConfig, type AgentModel, type AgentPathsConfig, type AgentPlatform, type AgentPlatformOverrides, type AgentProcedure, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type AgentTier, type AgentTierConfig, type AgentTierEntry, ApiExtractor, type ApiExtractorOptions, type ApiExtractorReportOptions, type ApproveMergeUpgradeOptions, AstroConfig, type AstroConfigOptions, type AstroIntegrationSpec, AstroOutput, AstroProject, type AstroProjectOptions, type AwsAccount, AwsCdkProject, type AwsCdkProjectOptions, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, AwsTeardownWorkflow, type AwsTeardownWorkflowOptions, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, type CiDeploymentConfig, type ClassTypeOptions, type ClaudeAutoModeConfig, type ClaudeHookAction, type ClaudeHookEntry, type ClaudeHooksConfig, type ClaudePermissionsConfig, type ClaudeRuleTarget, type ClaudeSandboxConfig, type ClaudeSettingsConfig, 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_DECOMPOSITION_TEMPLATE, DEFAULT_DELEGATE_TO_PR_REVIEWER, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_HOUSEKEEPING_MODEL, 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_MERGE_METHOD, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, 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_REQUIRE_LINKED_ISSUE, DEFAULT_REQUIRE_PRODUCT_CONTEXT, 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_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_BUNDLE_PATH_PATTERNS, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_CHECKER, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_STARTER, DEFAULT_WORKFLOW_DIAGRAMS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_PATH, DEFAULT_WORKFLOW_DIAGRAMS_REQUIRE_UPDATE, type DeployWorkflowOptions, type DeploymentMetadata, type FocusArea, type FocusAreaMatch, type FocusConfig, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, type IssueTemplatesConfig, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, type LabelDefinition, type LayoutEnforcement, type LayoutViolation, 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, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PREFLIGHT_MERGE_METHOD_VALUES, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, type PnpmWorkspaceOptions, type PreflightMergeMethod, type PreflightPrConfig, type PriorityRule, type ProgressFilesConfig, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedAgentPaths, type ResolvedAgentTier, type ResolvedIssueTemplates, type ResolvedPreflightPr, type ResolvedProgressFiles, type ResolvedProjectMetadata, type ResolvedRunRatio, type ResolvedScheduledTask, type ResolvedScheduledTasks, type ResolvedScopeGate, type ResolvedSharedEditing, type ResolvedSkillEvals, type ResolvedUnblockDependents, type ResolvedWorkflowDiagrams, type RunRatioConfig, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, type ScheduledTaskEntry, type ScheduledTaskModel, type ScheduledTaskOverride, type ScheduledTasksConfig, type ScopeClass, 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, type TemplateResolveResult, TestRunner, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, UNKNOWN_TYPE_FALLBACK_TIER, type UnblockDependentsConfig, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, type WorkflowDiagramsConfig, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, agendaBundle, awsCdkBundle, baseBundle, bcmWriterBundle, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildRegulatoryResearchBundle, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildUnblockDependentsProcedure, businessModelsBundle, classifyIssueScope, classifyRun, companyProfileBundle, customerProfileBundle, docsSyncBundle, extractApiProcedure, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCustomDocSectionBlock, renderCustomDocSections, renderExtractApiProcedure, renderFocusSection, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderMeetingTypesSection, renderPreflightPrSection, renderPreflightPrShellHelpers, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderUnblockDependentsScript, renderUnblockDependentsSection, renderWorkflowDiagramsBundleHook, renderWorkflowDiagramsCheckerScript, renderWorkflowDiagramsRuleContent, renderWorkflowDiagramsStarterPage, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolvePreflightPr, resolveProgressFiles, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTypeScriptProjectOutdir, resolveUnblockDependents, resolveWorkflowDiagrams, slackBundle, softwareProfileBundle, standardsResearchBundle, turborepoBundle, typescriptBundle, validateAgentTierConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePreflightPrConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateUnblockDependentsConfig, validateWorkflowDiagramsConfig, vitestBundle };
8350
+ export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, AgentConfig, type AgentConfigOptions, type AgentExpansionRules, type AgentFeaturesConfig, type AgentModel, type AgentPathsConfig, type AgentPlatform, type AgentPlatformOverrides, type AgentProcedure, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type AgentTier, type AgentTierConfig, type AgentTierEntry, type AnalyzeTsDocCoverageOptions, ApiExtractor, type ApiExtractorOptions, type ApiExtractorReportOptions, type ApproveMergeUpgradeOptions, AstroConfig, type AstroConfigOptions, type AstroIntegrationSpec, AstroOutput, AstroProject, type AstroProjectOptions, type AwsAccount, AwsCdkProject, type AwsCdkProjectOptions, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, AwsTeardownWorkflow, type AwsTeardownWorkflowOptions, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, type CiDeploymentConfig, type ClassTypeOptions, type ClaudeAutoModeConfig, type ClaudeHookAction, type ClaudeHookEntry, type ClaudeHooksConfig, type ClaudePermissionsConfig, type ClaudeRuleTarget, type ClaudeSandboxConfig, type ClaudeSettingsConfig, 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_DECOMPOSITION_TEMPLATE, DEFAULT_DELEGATE_TO_PR_REVIEWER, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_HOUSEKEEPING_MODEL, 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_MERGE_METHOD, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, 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_REQUIRE_LINKED_ISSUE, DEFAULT_REQUIRE_PRODUCT_CONTEXT, 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_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_BUNDLE_PATH_PATTERNS, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_CHECKER, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_STARTER, DEFAULT_WORKFLOW_DIAGRAMS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_PATH, DEFAULT_WORKFLOW_DIAGRAMS_REQUIRE_UPDATE, type DeployWorkflowOptions, type DeploymentMetadata, type FocusArea, type FocusAreaMatch, type FocusConfig, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, type IssueTemplatesConfig, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, type LabelDefinition, type LayoutEnforcement, type LayoutViolation, 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, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PREFLIGHT_MERGE_METHOD_VALUES, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, type PnpmWorkspaceOptions, type PreflightMergeMethod, type PreflightPrConfig, type PriorityRule, type ProgressFilesConfig, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedAgentPaths, type ResolvedAgentTier, type ResolvedIssueTemplates, type ResolvedPreflightPr, type ResolvedProgressFiles, type ResolvedProjectMetadata, type ResolvedRunRatio, type ResolvedScheduledTask, type ResolvedScheduledTasks, type ResolvedScopeGate, type ResolvedSharedEditing, type ResolvedSkillEvals, type ResolvedUnblockDependents, type ResolvedWorkflowDiagrams, type RunRatioConfig, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, type ScheduledTaskEntry, type ScheduledTaskModel, type ScheduledTaskOverride, type ScheduledTasksConfig, type ScopeClass, 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, type TemplateResolveResult, TestRunner, TsDocCoverageKind, type TsDocCoverageRecord, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, UNKNOWN_TYPE_FALLBACK_TIER, type UnblockDependentsConfig, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, type WorkflowDiagramsConfig, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, awsCdkBundle, baseBundle, bcmWriterBundle, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildRegulatoryResearchBundle, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildUnblockDependentsProcedure, businessModelsBundle, classifyIssueScope, classifyRun, companyProfileBundle, customerProfileBundle, docsSyncBundle, extractApiProcedure, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCustomDocSectionBlock, renderCustomDocSections, renderExtractApiProcedure, renderFocusSection, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderMeetingTypesSection, renderPreflightPrSection, renderPreflightPrShellHelpers, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderUnblockDependentsScript, renderUnblockDependentsSection, renderWorkflowDiagramsBundleHook, renderWorkflowDiagramsCheckerScript, renderWorkflowDiagramsRuleContent, renderWorkflowDiagramsStarterPage, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolvePreflightPr, resolveProgressFiles, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTypeScriptProjectOutdir, resolveUnblockDependents, resolveWorkflowDiagrams, slackBundle, softwareProfileBundle, standardsResearchBundle, turborepoBundle, typescriptBundle, validateAgentTierConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePreflightPrConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateUnblockDependentsConfig, validateWorkflowDiagramsConfig, vitestBundle };
package/lib/index.d.ts CHANGED
@@ -6378,6 +6378,125 @@ interface AwsOrganization {
6378
6378
  accounts: Array<AwsAccount>;
6379
6379
  }
6380
6380
 
6381
+ /**
6382
+ * One row in the TSDoc-coverage report — describes a single public
6383
+ * symbol exported (transitively) from the package's entry point and
6384
+ * the TSDoc presence flags computed for it.
6385
+ */
6386
+ interface TsDocCoverageRecord {
6387
+ /**
6388
+ * The public name of the symbol as it is exported from the package
6389
+ * entry point (post-rename for `export { X as Y }` re-exports).
6390
+ */
6391
+ readonly symbol: string;
6392
+ /**
6393
+ * Compiler kind label for the declaration backing the symbol — one
6394
+ * of `Class`, `Interface`, `TypeAlias`, `Enum`, `Function`,
6395
+ * `Variable`, `Module`, `Default`, or `Other`. Useful for grouping
6396
+ * findings in the audit report.
6397
+ */
6398
+ readonly kind: TsDocCoverageKind;
6399
+ /**
6400
+ * Source location of the underlying declaration (1-indexed line
6401
+ * number, file path absolute on disk).
6402
+ */
6403
+ readonly location: {
6404
+ readonly file: string;
6405
+ readonly line: number;
6406
+ };
6407
+ /**
6408
+ * `true` when the declaration carries a TSDoc block whose
6409
+ * `summarySection` is non-empty (i.e. there is at least one
6410
+ * paragraph of summary prose).
6411
+ */
6412
+ readonly hasSummary: boolean;
6413
+ /**
6414
+ * `true` when the declaration carries a summary that exists but is
6415
+ * shorter than the configured `thinSummaryWordThreshold` — useful
6416
+ * for advisory-level findings that do not block.
6417
+ */
6418
+ readonly hasThinSummary: boolean;
6419
+ /**
6420
+ * `true` when the declaration carries at least one `@param` block
6421
+ * tag. Always `false` for kinds that have no parameters
6422
+ * (`Variable`, `TypeAlias`, etc.).
6423
+ */
6424
+ readonly hasParams: boolean;
6425
+ /**
6426
+ * `true` when the declaration carries a `@returns` block tag.
6427
+ * Always `false` for kinds without a return value.
6428
+ */
6429
+ readonly hasReturns: boolean;
6430
+ }
6431
+ /**
6432
+ * Compiler-kind label attached to each coverage record.
6433
+ */
6434
+ declare const TsDocCoverageKind: {
6435
+ readonly Class: "Class";
6436
+ readonly Interface: "Interface";
6437
+ readonly TypeAlias: "TypeAlias";
6438
+ readonly Enum: "Enum";
6439
+ readonly Function: "Function";
6440
+ readonly Variable: "Variable";
6441
+ readonly Module: "Module";
6442
+ readonly Default: "Default";
6443
+ readonly Other: "Other";
6444
+ };
6445
+ /**
6446
+ * String-literal type matching the values of {@link TsDocCoverageKind}.
6447
+ */
6448
+ type TsDocCoverageKind = (typeof TsDocCoverageKind)[keyof typeof TsDocCoverageKind];
6449
+ /**
6450
+ * Options accepted by `analyzeTsDocCoverage`.
6451
+ */
6452
+ interface AnalyzeTsDocCoverageOptions {
6453
+ /**
6454
+ * Absolute path to the package root (the directory that contains
6455
+ * `tsconfig.json` and `src/`).
6456
+ */
6457
+ readonly packageRoot: string;
6458
+ /**
6459
+ * Entry point relative to `packageRoot`. Defaults to
6460
+ * `src/index.ts` — the convention used by every package in the
6461
+ * monorepo.
6462
+ *
6463
+ * @default "src/index.ts"
6464
+ */
6465
+ readonly entryPoint?: string;
6466
+ /**
6467
+ * Word threshold below which a TSDoc summary is flagged as
6468
+ * "thin" (advisory only — does not zero-out `hasSummary`). A
6469
+ * summary with exactly this many words is considered thin.
6470
+ *
6471
+ * @default 4
6472
+ */
6473
+ readonly thinSummaryWordThreshold?: number;
6474
+ /**
6475
+ * Optional explicit path to a `tsconfig.json`. When omitted, the
6476
+ * utility runs with a built-in compiler-options set tailored for
6477
+ * AST analysis (no emit, ESNext target, NodeNext module
6478
+ * resolution). The built-in options are sufficient for every
6479
+ * coverage scan in the docs-sync pipeline; consumers only set
6480
+ * this when their package uses an unusual module-resolution
6481
+ * strategy that affects symbol resolution.
6482
+ */
6483
+ readonly tsconfigPath?: string;
6484
+ }
6485
+ /**
6486
+ * Walks a package's public exports, transitively resolving
6487
+ * `export *` and `export { X } from "..."` re-exports through the
6488
+ * TypeScript compiler API, and reports TSDoc presence flags for
6489
+ * every public symbol.
6490
+ *
6491
+ * Internal symbols (anything not transitively re-exported from
6492
+ * `entryPoint`) never appear in the result — the report describes
6493
+ * the package's *public surface area*, not its internal modules.
6494
+ *
6495
+ * @param options - Either an options object or, as a shorthand, the
6496
+ * absolute path to the package root.
6497
+ */
6498
+ declare function analyzeTsDocCoverage(options: AnalyzeTsDocCoverageOptions | string): Array<TsDocCoverageRecord>;
6499
+
6381
6500
  /**
6382
6501
  * Returns the latest full-release version of an npm package that has been
6383
6502
  * published for at least `minimumReleaseAgeMinutes` minutes. Prefers the
@@ -8277,5 +8396,5 @@ declare const COMPLETE_JOB_ID = "complete";
8277
8396
  */
8278
8397
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
8279
8398
 
8280
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, AgentConfig, ApiExtractor, AstroConfig, AstroOutput, AstroProject, AwsCdkProject, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, AwsTeardownWorkflow, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, 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_DECOMPOSITION_TEMPLATE, DEFAULT_DELEGATE_TO_PR_REVIEWER, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_HOUSEKEEPING_MODEL, 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_MERGE_METHOD, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, 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_REQUIRE_LINKED_ISSUE, DEFAULT_REQUIRE_PRODUCT_CONTEXT, 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_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_BUNDLE_PATH_PATTERNS, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_CHECKER, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_STARTER, DEFAULT_WORKFLOW_DIAGRAMS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_PATH, DEFAULT_WORKFLOW_DIAGRAMS_REQUIRE_UPDATE, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, MonorepoProject, PREFLIGHT_MERGE_METHOD_VALUES, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, ProjectMetadata, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ResetTask, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, StarlightProject, TestRunner, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, UNKNOWN_TYPE_FALLBACK_TIER, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, agendaBundle, awsCdkBundle, baseBundle, bcmWriterBundle, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildRegulatoryResearchBundle, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildUnblockDependentsProcedure, businessModelsBundle, classifyIssueScope, classifyRun, companyProfileBundle, customerProfileBundle, docsSyncBundle, extractApiProcedure, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCustomDocSectionBlock, renderCustomDocSections, renderExtractApiProcedure, renderFocusSection, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderMeetingTypesSection, renderPreflightPrSection, renderPreflightPrShellHelpers, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderUnblockDependentsScript, renderUnblockDependentsSection, renderWorkflowDiagramsBundleHook, renderWorkflowDiagramsCheckerScript, renderWorkflowDiagramsRuleContent, renderWorkflowDiagramsStarterPage, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolvePreflightPr, resolveProgressFiles, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTypeScriptProjectOutdir, resolveUnblockDependents, resolveWorkflowDiagrams, slackBundle, softwareProfileBundle, standardsResearchBundle, turborepoBundle, typescriptBundle, validateAgentTierConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePreflightPrConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateUnblockDependentsConfig, validateWorkflowDiagramsConfig, vitestBundle };
8281
- export type { AgentConfigOptions, AgentExpansionRules, AgentFeaturesConfig, AgentModel, AgentPathsConfig, AgentPlatform, AgentPlatformOverrides, AgentProcedure, AgentRule, AgentRuleBundle, AgentRuleScope, AgentSkill, AgentSubAgent, AgentSubAgentPlatformOverrides, AgentTier, AgentTierConfig, AgentTierEntry, ApiExtractorOptions, ApiExtractorReportOptions, ApproveMergeUpgradeOptions, AstroConfigOptions, AstroIntegrationSpec, AstroProjectOptions, AwsAccount, AwsCdkProjectOptions, AwsDeploymentTargetOptions, AwsLocalDeploymentConfig, AwsOrganization, AwsRegion, AwsTeardownWorkflowOptions, CiDeploymentConfig, ClassTypeOptions, ClaudeAutoModeConfig, ClaudeHookAction, ClaudeHookEntry, ClaudeHooksConfig, ClaudePermissionsConfig, ClaudeRuleTarget, ClaudeSandboxConfig, ClaudeSettingsConfig, CopilotHandoff, CursorHookAction, CursorHooksConfig, CursorSettingsConfig, CustomDocSection, DeployWorkflowOptions, DeploymentMetadata, FocusArea, FocusAreaMatch, FocusConfig, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, IDependencyResolver, IssueTemplatesConfig, LabelDefinition, LayoutEnforcement, LayoutViolation, McpServerConfig, McpTransport, MeetingArea, MeetingScope, MeetingType, MeetingTypeKind, MeetingsConfig, MergeMethod, MonorepoLayoutRoot, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, PreflightMergeMethod, PreflightPrConfig, PriorityRule, ProgressFilesConfig, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedAgentPaths, ResolvedAgentTier, ResolvedIssueTemplates, ResolvedPreflightPr, ResolvedProgressFiles, ResolvedProjectMetadata, ResolvedRunRatio, ResolvedScheduledTask, ResolvedScheduledTasks, ResolvedScopeGate, ResolvedSharedEditing, ResolvedSkillEvals, ResolvedUnblockDependents, ResolvedWorkflowDiagrams, RunRatioConfig, ScheduledTaskEntry, ScheduledTaskModel, ScheduledTaskOverride, ScheduledTasksConfig, ScopeClass, ScopeGateConfig, ScopeGateThresholds, SharedEditingConfig, SkillEvalsConfig, SlackMetadata, SourceTierExamples, StarlightEditLink, StarlightLogo, StarlightProjectOptions, StarlightRole, StarlightSidebarItem, StarlightSingletonViolation, StarlightSocialLink, SyncLabelsOptions, TemplateResolveResult, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, UnblockDependentsConfig, VersionKey, VitestConfigOptions, VitestOptions, WorkflowDiagramsConfig };
8399
+ export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AGENT_TIER_ROLES, AGENT_TIER_VALUES, AgentConfig, ApiExtractor, AstroConfig, AstroOutput, AstroProject, AwsCdkProject, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, AwsTeardownWorkflow, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, 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_DECOMPOSITION_TEMPLATE, DEFAULT_DELEGATE_TO_PR_REVIEWER, DEFAULT_DISPATCH_MODEL, DEFAULT_DISPATCH_TO_HOUSEKEEPING_RATIO, DEFAULT_HOUSEKEEPING_MODEL, 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_MERGE_METHOD, DEFAULT_OFF_PEAK_CRON_EXAMPLE, DEFAULT_PARTIAL_UNBLOCK_COMMENT_TEMPLATE, 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_REQUIRE_LINKED_ISSUE, DEFAULT_REQUIRE_PRODUCT_CONTEXT, 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_TYPE_LABELS, DEFAULT_UNBLOCK_COMMENT_TEMPLATE, DEFAULT_UNBLOCK_DEPENDENTS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_BUNDLE_PATH_PATTERNS, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_CHECKER, DEFAULT_WORKFLOW_DIAGRAMS_EMIT_STARTER, DEFAULT_WORKFLOW_DIAGRAMS_ENABLED, DEFAULT_WORKFLOW_DIAGRAMS_PATH, DEFAULT_WORKFLOW_DIAGRAMS_REQUIRE_UPDATE, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, MonorepoProject, PREFLIGHT_MERGE_METHOD_VALUES, PROD_DEPLOY_NAME, PROGRESS_FILES_FORMAT_VALUES, PnpmWorkspace, ProjectMetadata, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ResetTask, SCHEDULED_TASK_MODEL_VALUES, SCOPE_CLASS_VALUES, SHARED_EDITING_CONFLICT_STRATEGY_VALUES, STARLIGHT_ROLE, StarlightProject, TestRunner, TsDocCoverageKind, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, UNKNOWN_TYPE_FALLBACK_TIER, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, agendaBundle, analyzeTsDocCoverage, awsCdkBundle, baseBundle, bcmWriterBundle, buildBaseBundle, buildBcmWriterBundle, buildBuiltInBundles, buildBusinessModelsBundle, buildCheckBlockedProcedure, buildCompanyProfileBundle, buildCustomerProfileBundle, buildDocsSyncBundle, buildIndustryDiscoveryBundle, buildMaintenanceAuditBundle, buildOrchestratorConventionsContent, buildPeopleProfileBundle, buildRegulatoryResearchBundle, buildRequirementsAnalystBundle, buildRequirementsReviewerBundle, buildRequirementsWriterBundle, buildResearchPipelineBundle, buildSoftwareProfileBundle, buildStandardsResearchBundle, buildUnblockDependentsProcedure, businessModelsBundle, classifyIssueScope, classifyRun, companyProfileBundle, customerProfileBundle, docsSyncBundle, extractApiProcedure, formatLayoutViolation, formatStarlightSingletonViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, regulatoryResearchBundle, renderAgentTierCaseStatement, renderAgentTierSection, renderCustomDocSectionBlock, renderCustomDocSections, renderExtractApiProcedure, renderFocusSection, renderIssueTemplatesBundleHook, renderIssueTemplatesCheckerScript, renderIssueTemplatesRuleContent, renderIssueTemplatesStarterPage, renderMeetingTypesSection, renderPreflightPrSection, renderPreflightPrShellHelpers, renderPriorityRulesSection, renderProgressFileName, renderProgressFilePath, renderProgressFilesBundleHook, renderProgressFilesRuleContent, renderRunRatioSection, renderRunRatioShellHelpers, renderScheduledTaskSkillFile, renderScheduledTasksSection, renderScopeGateSection, renderScopeGateShellHelpers, renderSharedEditingBundleHook, renderSharedEditingHelperScript, renderSharedEditingRuleContent, renderSkillEvalsBundleHook, renderSkillEvalsRuleContent, renderSkillEvalsRunnerScript, renderSourceTierExamples, renderUnblockDependentsScript, renderUnblockDependentsSection, renderWorkflowDiagramsBundleHook, renderWorkflowDiagramsCheckerScript, renderWorkflowDiagramsRuleContent, renderWorkflowDiagramsStarterPage, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAgentPaths, resolveAgentTiers, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveIssueTemplates, resolveModelAlias, resolveOrchestratorAssets, resolveOutdirFromPackageName, resolvePreflightPr, resolveProgressFiles, resolveRunRatio, resolveScheduledTasks, resolveScopeGate, resolveSharedEditing, resolveSkillEvals, resolveTemplateVariables, resolveTypeScriptProjectOutdir, resolveUnblockDependents, resolveWorkflowDiagrams, slackBundle, softwareProfileBundle, standardsResearchBundle, turborepoBundle, typescriptBundle, validateAgentTierConfig, validateIssueTemplatesConfig, validateMonorepoLayout, validatePreflightPrConfig, validateProgressFilesConfig, validateRunRatioConfig, validateScheduledTasksConfig, validateScopeGateConfig, validateSharedEditingConfig, validateSkillEvalsConfig, validateStarlightSingleton, validateUnblockDependentsConfig, validateWorkflowDiagramsConfig, vitestBundle };
8400
+ export type { AgentConfigOptions, AgentExpansionRules, AgentFeaturesConfig, AgentModel, AgentPathsConfig, AgentPlatform, AgentPlatformOverrides, AgentProcedure, AgentRule, AgentRuleBundle, AgentRuleScope, AgentSkill, AgentSubAgent, AgentSubAgentPlatformOverrides, AgentTier, AgentTierConfig, AgentTierEntry, AnalyzeTsDocCoverageOptions, ApiExtractorOptions, ApiExtractorReportOptions, ApproveMergeUpgradeOptions, AstroConfigOptions, AstroIntegrationSpec, AstroProjectOptions, AwsAccount, AwsCdkProjectOptions, AwsDeploymentTargetOptions, AwsLocalDeploymentConfig, AwsOrganization, AwsRegion, AwsTeardownWorkflowOptions, CiDeploymentConfig, ClassTypeOptions, ClaudeAutoModeConfig, ClaudeHookAction, ClaudeHookEntry, ClaudeHooksConfig, ClaudePermissionsConfig, ClaudeRuleTarget, ClaudeSandboxConfig, ClaudeSettingsConfig, CopilotHandoff, CursorHookAction, CursorHooksConfig, CursorSettingsConfig, CustomDocSection, DeployWorkflowOptions, DeploymentMetadata, FocusArea, FocusAreaMatch, FocusConfig, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, IDependencyResolver, IssueTemplatesConfig, LabelDefinition, LayoutEnforcement, LayoutViolation, McpServerConfig, McpTransport, MeetingArea, MeetingScope, MeetingType, MeetingTypeKind, MeetingsConfig, MergeMethod, MonorepoLayoutRoot, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, PreflightMergeMethod, PreflightPrConfig, PriorityRule, ProgressFilesConfig, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedAgentPaths, ResolvedAgentTier, ResolvedIssueTemplates, ResolvedPreflightPr, ResolvedProgressFiles, ResolvedProjectMetadata, ResolvedRunRatio, ResolvedScheduledTask, ResolvedScheduledTasks, ResolvedScopeGate, ResolvedSharedEditing, ResolvedSkillEvals, ResolvedUnblockDependents, ResolvedWorkflowDiagrams, RunRatioConfig, ScheduledTaskEntry, ScheduledTaskModel, ScheduledTaskOverride, ScheduledTasksConfig, ScopeClass, ScopeGateConfig, ScopeGateThresholds, SharedEditingConfig, SkillEvalsConfig, SlackMetadata, SourceTierExamples, StarlightEditLink, StarlightLogo, StarlightProjectOptions, StarlightRole, StarlightSidebarItem, StarlightSingletonViolation, StarlightSocialLink, SyncLabelsOptions, TemplateResolveResult, TsDocCoverageRecord, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, UnblockDependentsConfig, VersionKey, VitestConfigOptions, VitestOptions, WorkflowDiagramsConfig };
package/lib/index.js CHANGED
@@ -270,6 +270,7 @@ __export(index_exports, {
270
270
  STARLIGHT_ROLE: () => STARLIGHT_ROLE,
271
271
  StarlightProject: () => StarlightProject,
272
272
  TestRunner: () => TestRunner,
273
+ TsDocCoverageKind: () => TsDocCoverageKind,
273
274
  TurboRepo: () => TurboRepo,
274
275
  TurboRepoTask: () => TurboRepoTask,
275
276
  TypeScriptConfig: () => TypeScriptConfig,
@@ -284,6 +285,7 @@ __export(index_exports, {
284
285
  addBuildCompleteJob: () => addBuildCompleteJob,
285
286
  addSyncLabelsWorkflow: () => addSyncLabelsWorkflow,
286
287
  agendaBundle: () => agendaBundle,
288
+ analyzeTsDocCoverage: () => analyzeTsDocCoverage,
287
289
  awsCdkBundle: () => awsCdkBundle,
288
290
  baseBundle: () => baseBundle,
289
291
  bcmWriterBundle: () => bcmWriterBundle,
@@ -26768,8 +26770,8 @@ var FALLBACKS = {
26768
26770
  monorepoLayoutSeedBlock: ""
26769
26771
  };
26770
26772
  var TEMPLATE_RE = /\{\{(\w+(?:\.\w+)*)\}\}/g;
26771
- function getNestedValue(obj, path2) {
26772
- const parts = path2.split(".");
26773
+ function getNestedValue(obj, path3) {
26774
+ const parts = path3.split(".");
26773
26775
  let current = obj;
26774
26776
  for (const part of parts) {
26775
26777
  if (current == null || typeof current !== "object") {
@@ -28753,6 +28755,226 @@ var AwsDeploymentTarget = class _AwsDeploymentTarget extends import_projen12.Com
28753
28755
  }
28754
28756
  };
28755
28757
 
28758
+ // src/docs-sync/tsdoc-coverage/coverage.ts
28759
+ var path2 = __toESM(require("path"));
28760
+ var import_tsdoc = require("@microsoft/tsdoc");
28761
+ var ts = __toESM(require("typescript"));
28762
+ var TsDocCoverageKind = {
28763
+ Class: "Class",
28764
+ Interface: "Interface",
28765
+ TypeAlias: "TypeAlias",
28766
+ Enum: "Enum",
28767
+ Function: "Function",
28768
+ Variable: "Variable",
28769
+ Module: "Module",
28770
+ Default: "Default",
28771
+ Other: "Other"
28772
+ };
28773
+ var DEFAULT_THIN_SUMMARY_WORD_THRESHOLD = 4;
28774
+ var DEFAULT_ENTRY_POINT = "src/index.ts";
28775
+ function analyzeTsDocCoverage(options) {
28776
+ const resolvedOptions = typeof options === "string" ? { packageRoot: options } : options;
28777
+ const packageRoot = path2.resolve(resolvedOptions.packageRoot);
28778
+ const entryPoint = path2.resolve(
28779
+ packageRoot,
28780
+ resolvedOptions.entryPoint ?? DEFAULT_ENTRY_POINT
28781
+ );
28782
+ const thinThreshold = resolvedOptions.thinSummaryWordThreshold ?? DEFAULT_THIN_SUMMARY_WORD_THRESHOLD;
28783
+ const compilerOptions = resolveCompilerOptions(
28784
+ packageRoot,
28785
+ resolvedOptions.tsconfigPath
28786
+ );
28787
+ const program = ts.createProgram({
28788
+ rootNames: [entryPoint],
28789
+ options: compilerOptions
28790
+ });
28791
+ const checker = program.getTypeChecker();
28792
+ const entrySource = program.getSourceFile(entryPoint);
28793
+ if (!entrySource) {
28794
+ throw new Error(
28795
+ `analyzeTsDocCoverage: entry point not found in program: ${entryPoint}`
28796
+ );
28797
+ }
28798
+ const moduleSymbol = checker.getSymbolAtLocation(entrySource);
28799
+ if (!moduleSymbol) {
28800
+ return [];
28801
+ }
28802
+ const tsdocParser = new import_tsdoc.TSDocParser();
28803
+ const records = [];
28804
+ for (const exportSymbol of checker.getExportsOfModule(moduleSymbol)) {
28805
+ const resolved = resolveAlias(exportSymbol, checker);
28806
+ const declaration = pickPrimaryDeclaration(resolved);
28807
+ if (!declaration) {
28808
+ continue;
28809
+ }
28810
+ const kind = classifyDeclaration(declaration);
28811
+ const location = resolveLocation(declaration);
28812
+ const tsdoc = parseTsDocFor(declaration, tsdocParser);
28813
+ const summaryWordCount = tsdoc ? countSummaryWords(tsdoc) : 0;
28814
+ const hasSummary = summaryWordCount > 0;
28815
+ const hasThinSummary = hasSummary && summaryWordCount <= thinThreshold;
28816
+ const hasParams = tsdoc ? hasBlockTag(tsdoc, "@param") : false;
28817
+ const hasReturns = tsdoc ? hasBlockTag(tsdoc, "@returns") || hasBlockTag(tsdoc, "@return") : false;
28818
+ records.push({
28819
+ symbol: exportSymbol.getName(),
28820
+ kind,
28821
+ location,
28822
+ hasSummary,
28823
+ hasThinSummary,
28824
+ hasParams,
28825
+ hasReturns
28826
+ });
28827
+ }
28828
+ records.sort((a, b) => {
28829
+ if (a.location.file !== b.location.file) {
28830
+ return a.location.file.localeCompare(b.location.file);
28831
+ }
28832
+ if (a.location.line !== b.location.line) {
28833
+ return a.location.line - b.location.line;
28834
+ }
28835
+ return a.symbol.localeCompare(b.symbol);
28836
+ });
28837
+ return records;
28838
+ }
28839
+ function resolveCompilerOptions(packageRoot, tsconfigPath) {
28840
+ if (tsconfigPath) {
28841
+ const absoluteTsconfig = path2.resolve(packageRoot, tsconfigPath);
28842
+ const configFile = ts.readConfigFile(absoluteTsconfig, ts.sys.readFile);
28843
+ if (configFile.error) {
28844
+ throw new Error(
28845
+ `analyzeTsDocCoverage: failed to read tsconfig at ${absoluteTsconfig}: ${ts.flattenDiagnosticMessageText(configFile.error.messageText, "\n")}`
28846
+ );
28847
+ }
28848
+ const parsed = ts.parseJsonConfigFileContent(
28849
+ configFile.config,
28850
+ ts.sys,
28851
+ path2.dirname(absoluteTsconfig)
28852
+ );
28853
+ return { ...parsed.options, noEmit: true };
28854
+ }
28855
+ return {
28856
+ target: ts.ScriptTarget.ESNext,
28857
+ module: ts.ModuleKind.NodeNext,
28858
+ moduleResolution: ts.ModuleResolutionKind.NodeNext,
28859
+ allowJs: false,
28860
+ declaration: false,
28861
+ noEmit: true,
28862
+ skipLibCheck: true,
28863
+ strict: false,
28864
+ esModuleInterop: true,
28865
+ resolveJsonModule: true
28866
+ };
28867
+ }
28868
+ function resolveAlias(symbol, checker) {
28869
+ let current = symbol;
28870
+ for (let i = 0; i < 32; i++) {
28871
+ if (!isAlias(current)) {
28872
+ return current;
28873
+ }
28874
+ const next = checker.getAliasedSymbol(current);
28875
+ if (!next || next === current) {
28876
+ return current;
28877
+ }
28878
+ current = next;
28879
+ }
28880
+ return current;
28881
+ }
28882
+ function isAlias(symbol) {
28883
+ return (symbol.flags & ts.SymbolFlags.Alias) !== 0;
28884
+ }
28885
+ function pickPrimaryDeclaration(symbol) {
28886
+ const declarations = symbol.getDeclarations();
28887
+ if (!declarations || declarations.length === 0) {
28888
+ return void 0;
28889
+ }
28890
+ const concrete = declarations.find(
28891
+ (d) => !ts.isExportSpecifier(d) && !ts.isExportAssignment(d) && !ts.isExportDeclaration(d)
28892
+ );
28893
+ return concrete ?? declarations[0];
28894
+ }
28895
+ function classifyDeclaration(declaration) {
28896
+ if (ts.isClassDeclaration(declaration)) {
28897
+ return TsDocCoverageKind.Class;
28898
+ }
28899
+ if (ts.isInterfaceDeclaration(declaration)) {
28900
+ return TsDocCoverageKind.Interface;
28901
+ }
28902
+ if (ts.isTypeAliasDeclaration(declaration)) {
28903
+ return TsDocCoverageKind.TypeAlias;
28904
+ }
28905
+ if (ts.isEnumDeclaration(declaration)) {
28906
+ return TsDocCoverageKind.Enum;
28907
+ }
28908
+ if (ts.isFunctionDeclaration(declaration) || ts.isMethodDeclaration(declaration)) {
28909
+ return TsDocCoverageKind.Function;
28910
+ }
28911
+ if (ts.isVariableDeclaration(declaration) || ts.isVariableStatement(declaration)) {
28912
+ return TsDocCoverageKind.Variable;
28913
+ }
28914
+ if (ts.isModuleDeclaration(declaration)) {
28915
+ return TsDocCoverageKind.Module;
28916
+ }
28917
+ if (ts.isExportAssignment(declaration)) {
28918
+ return TsDocCoverageKind.Default;
28919
+ }
28920
+ return TsDocCoverageKind.Other;
28921
+ }
28922
+ function resolveLocation(declaration) {
28923
+ const target = ts.isVariableDeclaration(declaration) ? declaration.parent.parent ?? declaration : declaration;
28924
+ const source = target.getSourceFile();
28925
+ const { line } = source.getLineAndCharacterOfPosition(target.getStart());
28926
+ return { file: source.fileName, line: line + 1 };
28927
+ }
28928
+ function parseTsDocFor(declaration, parser) {
28929
+ const target = ts.isVariableDeclaration(declaration) ? declaration.parent.parent ?? declaration : declaration;
28930
+ const sourceText = target.getSourceFile().getFullText();
28931
+ const ranges = ts.getLeadingCommentRanges(sourceText, target.getFullStart());
28932
+ if (!ranges || ranges.length === 0) {
28933
+ return void 0;
28934
+ }
28935
+ for (let i = ranges.length - 1; i >= 0; i--) {
28936
+ const range = ranges[i];
28937
+ if (range.kind !== ts.SyntaxKind.MultiLineCommentTrivia) {
28938
+ continue;
28939
+ }
28940
+ const text = sourceText.slice(range.pos, range.end);
28941
+ if (!text.startsWith("/**")) {
28942
+ continue;
28943
+ }
28944
+ const parsed = parser.parseString(text);
28945
+ return parsed.docComment;
28946
+ }
28947
+ return void 0;
28948
+ }
28949
+ function countSummaryWords(doc) {
28950
+ let words = 0;
28951
+ doc.summarySection.nodes.forEach((node) => {
28952
+ words += countWordsInNode(node);
28953
+ });
28954
+ return words;
28955
+ }
28956
+ function countWordsInNode(node) {
28957
+ const anyNode = node;
28958
+ if (anyNode.kind === "PlainText" && typeof anyNode.text === "string") {
28959
+ return anyNode.text.split(/\s+/).filter((token) => token.trim().length > 0).length;
28960
+ }
28961
+ let words = 0;
28962
+ const children = anyNode.getChildNodes?.() ?? [];
28963
+ for (const child of children) {
28964
+ words += countWordsInNode(child);
28965
+ }
28966
+ return words;
28967
+ }
28968
+ function hasBlockTag(doc, tagName) {
28969
+ if (tagName === "@param") {
28970
+ return doc.params.count > 0;
28971
+ }
28972
+ if (tagName === "@returns" || tagName === "@return") {
28973
+ return doc.returnsBlock !== void 0;
28974
+ }
28975
+ return doc.customBlocks.some((block) => block.blockTag.tagName === tagName);
28976
+ }
28977
+
28756
28978
  // src/latest-eligible-version.ts
28757
28979
  var NPM_REGISTRY = "https://registry.npmjs.org";
28758
28980
  function isPrerelease(version) {
@@ -29080,8 +29302,8 @@ var ResetTask = class _ResetTask extends import_projen14.Component {
29080
29302
  const resetTask = this.project.tasks.addTask(this.taskName, {
29081
29303
  description: "Delete build artifacts specified by pathsToRemove option, or artifactsDirectory if pathsToRemove is empty"
29082
29304
  });
29083
- this.pathsToRemove.forEach((path2) => {
29084
- resetTask.exec(`[ -e "${path2}" ] && rm -rf ${path2} || true`);
29305
+ this.pathsToRemove.forEach((path3) => {
29306
+ resetTask.exec(`[ -e "${path3}" ] && rm -rf ${path3} || true`);
29085
29307
  });
29086
29308
  const rootHasTurbo = TurboRepo.of(this.project.root) !== void 0;
29087
29309
  const isSubproject = this.project !== this.project.root;
@@ -31099,6 +31321,7 @@ var TypeScriptConfig = class extends import_projen23.Component {
31099
31321
  STARLIGHT_ROLE,
31100
31322
  StarlightProject,
31101
31323
  TestRunner,
31324
+ TsDocCoverageKind,
31102
31325
  TurboRepo,
31103
31326
  TurboRepoTask,
31104
31327
  TypeScriptConfig,
@@ -31113,6 +31336,7 @@ var TypeScriptConfig = class extends import_projen23.Component {
31113
31336
  addBuildCompleteJob,
31114
31337
  addSyncLabelsWorkflow,
31115
31338
  agendaBundle,
31339
+ analyzeTsDocCoverage,
31116
31340
  awsCdkBundle,
31117
31341
  baseBundle,
31118
31342
  bcmWriterBundle,