forgesmith 0.7.0 → 0.7.1

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/dist/server.d.cts CHANGED
@@ -584,7 +584,7 @@ interface ADROutput {
584
584
  }
585
585
  declare function generateADR(opts: GenerateADROpts): Promise<ADROutput>;
586
586
 
587
- interface GitRangeContext {
587
+ interface GitRangeContext$1 {
588
588
  commits: Array<{
589
589
  hash: string;
590
590
  subject: string;
@@ -597,7 +597,7 @@ interface GitRangeContext {
597
597
  filesChanged: number;
598
598
  }
599
599
  interface GenerateSprintRetroOpts {
600
- gitContext?: GitRangeContext;
600
+ gitContext?: GitRangeContext$1;
601
601
  amberContext?: AmberLayerContext;
602
602
  greenContext?: GreenLayerContext;
603
603
  scoreBefore?: number;
@@ -777,6 +777,207 @@ interface KnowledgeCaptureResult {
777
777
  }
778
778
  declare function generateKnowledgeCapture(options: KnowledgeCaptureOptions): Promise<KnowledgeCaptureResult>;
779
779
 
780
+ /**
781
+ * generateApiChangelog
782
+ *
783
+ * Generates a consumer-specific API changelog from detected API file changes.
784
+ * Supports three output formats: changelog, migration-guide, and release-notes.
785
+ * Audience-aware: internal / external / partner tone control.
786
+ */
787
+
788
+ interface ApiChange {
789
+ endpoint: string;
790
+ changeType: "added" | "removed" | "modified" | "breaking";
791
+ file: string;
792
+ capability?: string;
793
+ capabilityName?: string;
794
+ description?: string;
795
+ }
796
+ interface ApiChangeContext {
797
+ from: string;
798
+ to: string;
799
+ changes: ApiChange[];
800
+ breakingChanges: ApiChange[];
801
+ newEndpoints: ApiChange[];
802
+ removedEndpoints: ApiChange[];
803
+ totalChanged: number;
804
+ }
805
+ interface GenerateApiChangelogOpts {
806
+ apiChangeContext: ApiChangeContext;
807
+ amberContext?: AmberLayerContext;
808
+ gitContext?: {
809
+ from: string;
810
+ to: string;
811
+ commitCount: number;
812
+ commitMessages: string[];
813
+ };
814
+ targetAudience: "internal" | "external" | "partner";
815
+ format: "changelog" | "migration-guide" | "release-notes";
816
+ projectName: string;
817
+ version?: string;
818
+ llm: LlmProvider;
819
+ }
820
+ interface ApiChangelogOutput {
821
+ version: string;
822
+ date: string;
823
+ targetAudience: string;
824
+ breakingChanges: Array<{
825
+ endpoint: string;
826
+ description: string;
827
+ migration: string;
828
+ }>;
829
+ newFeatures: Array<{
830
+ endpoint: string;
831
+ description: string;
832
+ example?: string;
833
+ }>;
834
+ improvements: Array<{
835
+ endpoint: string;
836
+ description: string;
837
+ }>;
838
+ deprecations: Array<{
839
+ endpoint: string;
840
+ description: string;
841
+ sunset?: string;
842
+ }>;
843
+ migrationGuide: string;
844
+ consumerImpactSummary: string;
845
+ }
846
+ declare function generateApiChangelog(opts: GenerateApiChangelogOpts): Promise<ApiChangelogOutput>;
847
+
848
+ /**
849
+ * generateChangeImpactBrief
850
+ *
851
+ * Generates an executive-ready 2-page change impact brief for CTO / CAB sign-off.
852
+ * Consumes ChangeImpactContext from PRISM, optionally enriched with AMBER and GREEN
853
+ * layer data from forgesmith readers.
854
+ */
855
+
856
+ /** Minimal git range context — populated by callers from git log. */
857
+ interface GitRangeContext {
858
+ from: string;
859
+ to: string;
860
+ commitCount: number;
861
+ commitMessages: string[];
862
+ breakingChanges: string[];
863
+ }
864
+ /** Shape returned by PRISM /api/green/change-impact */
865
+ interface ChangeImpactContext {
866
+ from: string;
867
+ to: string;
868
+ commitCount: number;
869
+ filesChanged: string[];
870
+ affectedCapabilities: Array<{
871
+ id: string;
872
+ name: string;
873
+ criticality: string;
874
+ changedFiles: string[];
875
+ driftCount: number;
876
+ }>;
877
+ regulatoryCapabilities: string[];
878
+ coherenceScoreBefore: number | null;
879
+ coherenceScoreAfter: number | null;
880
+ coherenceDelta: number | null;
881
+ topRisks: string[];
882
+ breakingChanges: string[];
883
+ summary: string;
884
+ }
885
+ interface GenerateChangeImpactBriefOpts {
886
+ gitContext: GitRangeContext;
887
+ changeImpactContext: ChangeImpactContext;
888
+ amberContext?: AmberLayerContext;
889
+ greenContext?: GreenLayerContext;
890
+ audience: "executive" | "technical" | "cab";
891
+ projectName: string;
892
+ releaseVersion?: string;
893
+ llm: LlmProvider;
894
+ }
895
+ interface ChangeImpactBrief {
896
+ title: string;
897
+ releaseVersion: string;
898
+ date: string;
899
+ audience: string;
900
+ executiveSummary: string;
901
+ technicalSummary: string;
902
+ affectedBusinessAreas: string[];
903
+ riskLevel: "low" | "medium" | "high" | "critical";
904
+ riskJustification: string;
905
+ complianceImpact: string;
906
+ rollbackComplexity: "simple" | "moderate" | "complex";
907
+ rollbackGuidance: string;
908
+ recommendedActions: string[];
909
+ approvalRequired: boolean;
910
+ metrics: {
911
+ commits: number;
912
+ filesChanged: number;
913
+ capabilitiesAffected: number;
914
+ coherenceDelta: number | null;
915
+ };
916
+ }
917
+ declare function generateChangeImpactBrief(opts: GenerateChangeImpactBriefOpts): Promise<ChangeImpactBrief>;
918
+
919
+ /**
920
+ * generateRoiSlide.ts
921
+ *
922
+ * FORGE generator that converts a PRISM ROI estimate into a CFO-ready
923
+ * 5-slide executive deck. Uses LLM to craft persuasive copy; falls back
924
+ * to deterministic templates when the LLM is unavailable.
925
+ *
926
+ * @amber-capability forge.roi-slide
927
+ * @amber-doc Converts PRISM technical-debt ROI estimates into executive slide decks
928
+ */
929
+
930
+ interface RoiBreakdownItem {
931
+ count: number;
932
+ hoursPerMonth: number;
933
+ cost: number;
934
+ }
935
+ interface RoiEstimate {
936
+ currentScore: number;
937
+ currentGrade: string;
938
+ estimatedMaintenanceHoursPerMonth: number;
939
+ maintenanceCostPerMonth: number;
940
+ maintenanceCostPerYear: number;
941
+ targetScore: number;
942
+ targetGrade: string;
943
+ savedHoursPerMonth: number;
944
+ savedCostPerMonth: number;
945
+ savedCostPerYear: number;
946
+ roiMultiple: number;
947
+ breakdown: {
948
+ importCycles: RoiBreakdownItem;
949
+ documentationDrift: RoiBreakdownItem;
950
+ highChurnFiles: RoiBreakdownItem;
951
+ orphanedCode: RoiBreakdownItem;
952
+ };
953
+ estimatedRemediationDays: number;
954
+ breakEvenMonths: number;
955
+ headline: string;
956
+ recommendation: string;
957
+ }
958
+ type RoiSlideType = "title" | "problem" | "cost-breakdown" | "scenarios" | "recommendation" | "cta";
959
+ interface RoiSlide {
960
+ type: RoiSlideType;
961
+ title: string;
962
+ content: string;
963
+ highlight?: string;
964
+ highlightLabel?: string;
965
+ bullets?: string[];
966
+ }
967
+ interface RoiSlideOutput {
968
+ title: string;
969
+ slides: RoiSlide[];
970
+ executiveSummary: string;
971
+ oneLinePitch: string;
972
+ }
973
+ interface GenerateRoiSlideOpts {
974
+ roiEstimate: RoiEstimate;
975
+ organizationName?: string;
976
+ currency: "EUR" | "USD" | "GBP";
977
+ llm: LlmProvider;
978
+ }
979
+ declare function generateRoiSlide(opts: GenerateRoiSlideOpts): Promise<RoiSlideOutput>;
980
+
780
981
  type WidgetKind = "stat-card" | "feature-grid" | "testimonial" | "cta-banner" | "metric-badge" | "pricing-tier" | "changelog-row" | "social-proof" | "animated-stat" | "release-card" | "chart-bars" | "architecture-badge";
781
982
  type WidgetSlotType = "text" | "number" | "color" | "url" | "image-url" | "multiline" | "select";
782
983
  /** "html" = embeddable fragment (no CDN scripts).
@@ -1384,4 +1585,4 @@ declare function exportToICalendar(entries: ScheduledEntry[]): string;
1384
1585
  type ExportFormat = "buffer" | "hypefury" | "icalendar";
1385
1586
  declare function previewExport(entries: ScheduledEntry[], format: ExportFormat): string;
1386
1587
 
1387
- export { type ADRDocument, type ADROutput, ANIMATION_DURATION_PRESETS, type AdrContext, type AmberCapabilityContext, type AmberLayerContext, type Arc42Document, type Arc42Options, type Arc42Section, type ArchitectureWalkthroughOpts, type ArrayField, type AskDrivenAssetFormat, type AskDrivenAssetOpts, type AssetKind, type AssetSlotsValidationErr, type AssetSlotsValidationOk, type AssetSlotsValidationResult, type AssetVersion, type AudienceId, BRAND_CONTENT_SLOT_KEYS, BUNDLED_DISPATCH_CHANNELS, BUNDLED_STYLE_PRESETS, BUNDLED_WIDGET_TEMPLATES, type BlueprintData, type BlueprintEdge, type BlueprintFile, type BooleanField, type BrandKit, type BrandKitFonts, type BrandKitLogo, type BrandKitPalette, type BrandKitSnapshot, type BrandKitVoice, type BrandPalette, type BrandThemeConfig, type ChangesSinceOpts, type Channel, type ChannelKind, type ChannelOutput, type ComplianceCapabilityRecord, type ComplianceContext, type ComplianceDocOutput, type ComplianceFramework, type ComplianceSection, DEFAULT_ANIMATION_DURATION_SECONDS, DEFAULT_BRAND_KIT_FONTS, DEFAULT_BRAND_KIT_PALETTE, DEFAULT_BRAND_KIT_VOICE, DISPATCH_CHANNEL_BLOG, DISPATCH_CHANNEL_EMAIL, DISPATCH_CHANNEL_HN, DISPATCH_CHANNEL_INSTAGRAM, DISPATCH_CHANNEL_LINKEDIN, DISPATCH_CHANNEL_NEWSLETTER, DISPATCH_CHANNEL_REDDIT, DISPATCH_CHANNEL_SLACK, DISPATCH_CHANNEL_TWEET, type DiffEntry, type DiffResult, type DispatchAudienceContext, type DispatchBrandContext, type DispatchChannel, type DispatchRun, type ExportFormat, FORGE_AUDIENCES, FORGE_BRAND_THEME_ID, FORGE_TEMPLATES, FREE_TIER_WIDGET_IDS, type FileEntry, type ForgeAsset, type ForgeAudience, type ForgeGenerationDryRun, type ForgeGenerationError, type ForgeGenerationGenerated, type ForgeGenerationInput, type ForgeGenerationResult, type ForgeOutput, type ForgePrompt, type ForgeScope, type ForgeSignal, type ForgeStorage, type ForgeSubview, type ForgeTemplate, type ForgeThemeEntry, type FormErrors, type FormField, type FormSpec, type FormSpecOk, type FormSpecRaw, type Format, type GenerateADROpts, type GenerateComplianceDocOpts, type GenerateNewsletterOpts, type GeneratePresentationOpts, type GenerateSprintRetroOpts, type GenerationResult, type GitRangeContext, type GreenInsightContext, type GreenLayerContext, type Intent, type KnowledgeCaptureOptions, type KnowledgeCaptureResult, type KnowledgeCaptureSection, type ListOutputsOpts, type LlmMessage, type LlmProvider, type LlmRequest, type LlmResponse, MAX_ANIMATION_DURATION_SECONDS, MIN_ANIMATION_DURATION_SECONDS, type Modality, type NewsletterOutput, type NumberField, type ObjectField, type OnboardingDocOpts, type OrchestrationInput, type OrchestrationResult, type OutputStatus, PRISM_TEMPLATES, PRISM_TEMPLATE_ARCHITECTURE_OVERVIEW, PRISM_TEMPLATE_REFACTOR_RATIONALE, PRISM_TEMPLATE_RELEASE_ANNOUNCEMENT, PRISM_TEMPLATE_SHIPPING_DIGEST, PRISM_TEMPLATE_ZONE_DEEPDIVE, type PresentationOutput, type PresentationSlide, type PresentationSlideType, type PrismBrandDraft, type PrismContextPrompt, type PrismData, type PrismFocus, type PrismInsight, type PrismRecommendation, type PrismSession, type PrismTemplate, type ProductTruth, type ProductTruthClaim, REFINE_COUNTDOWN_THRESHOLD, REFINE_SESSION_SOFT_CAP, REFINE_SUGGESTIONS, type RadioOptions, type RadioResult, type ReadingLevel, type RefactoringReportOpts, type RefineAssetInput, type RefineAssetResult, type RefineLimitState, type RefineSuggestion, type ReleaseNotesOpts, type RenderWidgetInput, type ResolveBrandPaletteInput, type ResolvedTuple, STYLE_PRESET_BRUTALIST, STYLE_PRESET_DEFAULT, STYLE_PRESET_GLASSY, STYLE_PRESET_MINIMAL, type ScheduleRange, type ScheduledEntry, type ScheduledEntryMetadata, type ScheduledStatus, type SchemaDefinitionErr, type SchemaDefinitionOk, type SchemaDefinitionResult, type ScopeKind, type SignalKind, type SprintRetroOutput, type StringField, type StyleTokens, TEMPLATE_SCHEMA_EXAMPLES, TEMPLATE_SCHEMA_GENERIC, type TokenUsage, type Tonality, type UrlBrandHints, type ValidationErr, type ValidationOk, type ValidationResult, WIDGET_TEMPLATE_CHANGELOG_ROW, WIDGET_TEMPLATE_CTA_BANNER, WIDGET_TEMPLATE_FEATURE_GRID, WIDGET_TEMPLATE_METRIC_BADGE, WIDGET_TEMPLATE_PRICING_TIER, WIDGET_TEMPLATE_SOCIAL_PROOF, WIDGET_TEMPLATE_STAT_CARD, WIDGET_TEMPLATE_TESTIMONIAL, type WeeklyDigestContext, type WidgetExportFormat, type WidgetInstance, type WidgetInstanceSnapshot, type WidgetKind, type WidgetSlotDef, type WidgetSlotType, type WidgetStyle, type WidgetStyleSnapshot, type WidgetTemplate, type Zone, applyEntryPatch, asAudienceId, assembleBrandUrlExtractionPrompt, assembleForgePrompt, brandThemeConfigToEntry, buildPrismContextPrompt, buildRevertVersion, buildScheduledEntry, buildVersion, cascadingScheduledFor, clampAnimationDuration, computeDiff, defaultBrandKit, defaultValueForField, deriveContextSummary, distill, entryInRange, exportToBufferCsv, exportToHypefuryCsv, exportToICalendar, extractBrandFromPrismBlueprint, extractDependencyHotspots, extractTopChurnFiles, extractZones, generateADR, generateArc42, generateArchitectureWalkthrough, generateAskDrivenAsset, generateChangesSince, generateComplianceDoc, generateKnowledgeCapture, generateNewsletter, generateOnboardingDoc, generatePresentation, generateRadio, generateRefactoringReport, generateReleaseNotes, generateSprintRetro, getDispatchChannel, getPrismTemplate, getSlotValue, getStyleById, getWidgetTemplate, initialFormValues, next7DaysRange, nextVersionNumber, normalizePrismlensBlueprint, orchestrateDispatch, parseAndValidateSchemaDefinition, parseBrandKitFromLlmResponse, parseBrandThemeContent, parseStyleFromCss, parseStyleFromTailwindConfig, parseStyleFromTokensJson, parseThemeConfigContent, previewExport, readAmberLayer, readBlueprintData, readBlueprintFromTarget, readGreenLayer, readPrismDirectory, refineAsset, refineLimitState, renderWidget, resolveAnimatedChoice, resolveAnimationDuration, resolveBrandPalette, runForgeGeneration, scanForSecrets, schemaExampleFor, schemaToForm, templateAnimatedDefault, themeEntryToPalette, tryParseJsonObject, validateAgainstTemplateSchema, validateAssetSlots, validateFormValues, validateSchemaDefinition };
1588
+ export { type ADRDocument, type ADROutput, ANIMATION_DURATION_PRESETS, type AdrContext, type AmberCapabilityContext, type AmberLayerContext, type ApiChange, type ApiChangeContext, type ApiChangelogOutput, type Arc42Document, type Arc42Options, type Arc42Section, type ArchitectureWalkthroughOpts, type ArrayField, type AskDrivenAssetFormat, type AskDrivenAssetOpts, type AssetKind, type AssetSlotsValidationErr, type AssetSlotsValidationOk, type AssetSlotsValidationResult, type AssetVersion, type AudienceId, BRAND_CONTENT_SLOT_KEYS, BUNDLED_DISPATCH_CHANNELS, BUNDLED_STYLE_PRESETS, BUNDLED_WIDGET_TEMPLATES, type BlueprintData, type BlueprintEdge, type BlueprintFile, type BooleanField, type BrandKit, type BrandKitFonts, type BrandKitLogo, type BrandKitPalette, type BrandKitSnapshot, type BrandKitVoice, type BrandPalette, type BrandThemeConfig, type ChangeImpactBrief, type ChangeImpactContext, type ChangesSinceOpts, type Channel, type ChannelKind, type ChannelOutput, type ComplianceCapabilityRecord, type ComplianceContext, type ComplianceDocOutput, type ComplianceFramework, type ComplianceSection, DEFAULT_ANIMATION_DURATION_SECONDS, DEFAULT_BRAND_KIT_FONTS, DEFAULT_BRAND_KIT_PALETTE, DEFAULT_BRAND_KIT_VOICE, DISPATCH_CHANNEL_BLOG, DISPATCH_CHANNEL_EMAIL, DISPATCH_CHANNEL_HN, DISPATCH_CHANNEL_INSTAGRAM, DISPATCH_CHANNEL_LINKEDIN, DISPATCH_CHANNEL_NEWSLETTER, DISPATCH_CHANNEL_REDDIT, DISPATCH_CHANNEL_SLACK, DISPATCH_CHANNEL_TWEET, type DiffEntry, type DiffResult, type DispatchAudienceContext, type DispatchBrandContext, type DispatchChannel, type DispatchRun, type ExportFormat, FORGE_AUDIENCES, FORGE_BRAND_THEME_ID, FORGE_TEMPLATES, FREE_TIER_WIDGET_IDS, type FileEntry, type ForgeAsset, type ForgeAudience, type ForgeGenerationDryRun, type ForgeGenerationError, type ForgeGenerationGenerated, type ForgeGenerationInput, type ForgeGenerationResult, type ForgeOutput, type ForgePrompt, type ForgeScope, type ForgeSignal, type ForgeStorage, type ForgeSubview, type ForgeTemplate, type ForgeThemeEntry, type FormErrors, type FormField, type FormSpec, type FormSpecOk, type FormSpecRaw, type Format, type GenerateADROpts, type GenerateApiChangelogOpts, type GenerateChangeImpactBriefOpts, type GenerateComplianceDocOpts, type GenerateNewsletterOpts, type GeneratePresentationOpts, type GenerateRoiSlideOpts, type GenerateSprintRetroOpts, type GenerationResult, type GitRangeContext$1 as GitRangeContext, type GreenInsightContext, type GreenLayerContext, type Intent, type KnowledgeCaptureOptions, type KnowledgeCaptureResult, type KnowledgeCaptureSection, type ListOutputsOpts, type LlmMessage, type LlmProvider, type LlmRequest, type LlmResponse, MAX_ANIMATION_DURATION_SECONDS, MIN_ANIMATION_DURATION_SECONDS, type Modality, type NewsletterOutput, type NumberField, type ObjectField, type OnboardingDocOpts, type OrchestrationInput, type OrchestrationResult, type OutputStatus, PRISM_TEMPLATES, PRISM_TEMPLATE_ARCHITECTURE_OVERVIEW, PRISM_TEMPLATE_REFACTOR_RATIONALE, PRISM_TEMPLATE_RELEASE_ANNOUNCEMENT, PRISM_TEMPLATE_SHIPPING_DIGEST, PRISM_TEMPLATE_ZONE_DEEPDIVE, type PresentationOutput, type PresentationSlide, type PresentationSlideType, type PrismBrandDraft, type PrismContextPrompt, type PrismData, type PrismFocus, type PrismInsight, type PrismRecommendation, type PrismSession, type PrismTemplate, type ProductTruth, type ProductTruthClaim, REFINE_COUNTDOWN_THRESHOLD, REFINE_SESSION_SOFT_CAP, REFINE_SUGGESTIONS, type RadioOptions, type RadioResult, type ReadingLevel, type RefactoringReportOpts, type RefineAssetInput, type RefineAssetResult, type RefineLimitState, type RefineSuggestion, type ReleaseNotesOpts, type RenderWidgetInput, type ResolveBrandPaletteInput, type ResolvedTuple, type RoiBreakdownItem, type RoiEstimate, type RoiSlide, type RoiSlideOutput, type RoiSlideType, STYLE_PRESET_BRUTALIST, STYLE_PRESET_DEFAULT, STYLE_PRESET_GLASSY, STYLE_PRESET_MINIMAL, type ScheduleRange, type ScheduledEntry, type ScheduledEntryMetadata, type ScheduledStatus, type SchemaDefinitionErr, type SchemaDefinitionOk, type SchemaDefinitionResult, type ScopeKind, type SignalKind, type SprintRetroOutput, type StringField, type StyleTokens, TEMPLATE_SCHEMA_EXAMPLES, TEMPLATE_SCHEMA_GENERIC, type TokenUsage, type Tonality, type UrlBrandHints, type ValidationErr, type ValidationOk, type ValidationResult, WIDGET_TEMPLATE_CHANGELOG_ROW, WIDGET_TEMPLATE_CTA_BANNER, WIDGET_TEMPLATE_FEATURE_GRID, WIDGET_TEMPLATE_METRIC_BADGE, WIDGET_TEMPLATE_PRICING_TIER, WIDGET_TEMPLATE_SOCIAL_PROOF, WIDGET_TEMPLATE_STAT_CARD, WIDGET_TEMPLATE_TESTIMONIAL, type WeeklyDigestContext, type WidgetExportFormat, type WidgetInstance, type WidgetInstanceSnapshot, type WidgetKind, type WidgetSlotDef, type WidgetSlotType, type WidgetStyle, type WidgetStyleSnapshot, type WidgetTemplate, type Zone, applyEntryPatch, asAudienceId, assembleBrandUrlExtractionPrompt, assembleForgePrompt, brandThemeConfigToEntry, buildPrismContextPrompt, buildRevertVersion, buildScheduledEntry, buildVersion, cascadingScheduledFor, clampAnimationDuration, computeDiff, defaultBrandKit, defaultValueForField, deriveContextSummary, distill, entryInRange, exportToBufferCsv, exportToHypefuryCsv, exportToICalendar, extractBrandFromPrismBlueprint, extractDependencyHotspots, extractTopChurnFiles, extractZones, generateADR, generateApiChangelog, generateArc42, generateArchitectureWalkthrough, generateAskDrivenAsset, generateChangeImpactBrief, generateChangesSince, generateComplianceDoc, generateKnowledgeCapture, generateNewsletter, generateOnboardingDoc, generatePresentation, generateRadio, generateRefactoringReport, generateReleaseNotes, generateRoiSlide, generateSprintRetro, getDispatchChannel, getPrismTemplate, getSlotValue, getStyleById, getWidgetTemplate, initialFormValues, next7DaysRange, nextVersionNumber, normalizePrismlensBlueprint, orchestrateDispatch, parseAndValidateSchemaDefinition, parseBrandKitFromLlmResponse, parseBrandThemeContent, parseStyleFromCss, parseStyleFromTailwindConfig, parseStyleFromTokensJson, parseThemeConfigContent, previewExport, readAmberLayer, readBlueprintData, readBlueprintFromTarget, readGreenLayer, readPrismDirectory, refineAsset, refineLimitState, renderWidget, resolveAnimatedChoice, resolveAnimationDuration, resolveBrandPalette, runForgeGeneration, scanForSecrets, schemaExampleFor, schemaToForm, templateAnimatedDefault, themeEntryToPalette, tryParseJsonObject, validateAgainstTemplateSchema, validateAssetSlots, validateFormValues, validateSchemaDefinition };
package/dist/server.d.ts CHANGED
@@ -584,7 +584,7 @@ interface ADROutput {
584
584
  }
585
585
  declare function generateADR(opts: GenerateADROpts): Promise<ADROutput>;
586
586
 
587
- interface GitRangeContext {
587
+ interface GitRangeContext$1 {
588
588
  commits: Array<{
589
589
  hash: string;
590
590
  subject: string;
@@ -597,7 +597,7 @@ interface GitRangeContext {
597
597
  filesChanged: number;
598
598
  }
599
599
  interface GenerateSprintRetroOpts {
600
- gitContext?: GitRangeContext;
600
+ gitContext?: GitRangeContext$1;
601
601
  amberContext?: AmberLayerContext;
602
602
  greenContext?: GreenLayerContext;
603
603
  scoreBefore?: number;
@@ -777,6 +777,207 @@ interface KnowledgeCaptureResult {
777
777
  }
778
778
  declare function generateKnowledgeCapture(options: KnowledgeCaptureOptions): Promise<KnowledgeCaptureResult>;
779
779
 
780
+ /**
781
+ * generateApiChangelog
782
+ *
783
+ * Generates a consumer-specific API changelog from detected API file changes.
784
+ * Supports three output formats: changelog, migration-guide, and release-notes.
785
+ * Audience-aware: internal / external / partner tone control.
786
+ */
787
+
788
+ interface ApiChange {
789
+ endpoint: string;
790
+ changeType: "added" | "removed" | "modified" | "breaking";
791
+ file: string;
792
+ capability?: string;
793
+ capabilityName?: string;
794
+ description?: string;
795
+ }
796
+ interface ApiChangeContext {
797
+ from: string;
798
+ to: string;
799
+ changes: ApiChange[];
800
+ breakingChanges: ApiChange[];
801
+ newEndpoints: ApiChange[];
802
+ removedEndpoints: ApiChange[];
803
+ totalChanged: number;
804
+ }
805
+ interface GenerateApiChangelogOpts {
806
+ apiChangeContext: ApiChangeContext;
807
+ amberContext?: AmberLayerContext;
808
+ gitContext?: {
809
+ from: string;
810
+ to: string;
811
+ commitCount: number;
812
+ commitMessages: string[];
813
+ };
814
+ targetAudience: "internal" | "external" | "partner";
815
+ format: "changelog" | "migration-guide" | "release-notes";
816
+ projectName: string;
817
+ version?: string;
818
+ llm: LlmProvider;
819
+ }
820
+ interface ApiChangelogOutput {
821
+ version: string;
822
+ date: string;
823
+ targetAudience: string;
824
+ breakingChanges: Array<{
825
+ endpoint: string;
826
+ description: string;
827
+ migration: string;
828
+ }>;
829
+ newFeatures: Array<{
830
+ endpoint: string;
831
+ description: string;
832
+ example?: string;
833
+ }>;
834
+ improvements: Array<{
835
+ endpoint: string;
836
+ description: string;
837
+ }>;
838
+ deprecations: Array<{
839
+ endpoint: string;
840
+ description: string;
841
+ sunset?: string;
842
+ }>;
843
+ migrationGuide: string;
844
+ consumerImpactSummary: string;
845
+ }
846
+ declare function generateApiChangelog(opts: GenerateApiChangelogOpts): Promise<ApiChangelogOutput>;
847
+
848
+ /**
849
+ * generateChangeImpactBrief
850
+ *
851
+ * Generates an executive-ready 2-page change impact brief for CTO / CAB sign-off.
852
+ * Consumes ChangeImpactContext from PRISM, optionally enriched with AMBER and GREEN
853
+ * layer data from forgesmith readers.
854
+ */
855
+
856
+ /** Minimal git range context — populated by callers from git log. */
857
+ interface GitRangeContext {
858
+ from: string;
859
+ to: string;
860
+ commitCount: number;
861
+ commitMessages: string[];
862
+ breakingChanges: string[];
863
+ }
864
+ /** Shape returned by PRISM /api/green/change-impact */
865
+ interface ChangeImpactContext {
866
+ from: string;
867
+ to: string;
868
+ commitCount: number;
869
+ filesChanged: string[];
870
+ affectedCapabilities: Array<{
871
+ id: string;
872
+ name: string;
873
+ criticality: string;
874
+ changedFiles: string[];
875
+ driftCount: number;
876
+ }>;
877
+ regulatoryCapabilities: string[];
878
+ coherenceScoreBefore: number | null;
879
+ coherenceScoreAfter: number | null;
880
+ coherenceDelta: number | null;
881
+ topRisks: string[];
882
+ breakingChanges: string[];
883
+ summary: string;
884
+ }
885
+ interface GenerateChangeImpactBriefOpts {
886
+ gitContext: GitRangeContext;
887
+ changeImpactContext: ChangeImpactContext;
888
+ amberContext?: AmberLayerContext;
889
+ greenContext?: GreenLayerContext;
890
+ audience: "executive" | "technical" | "cab";
891
+ projectName: string;
892
+ releaseVersion?: string;
893
+ llm: LlmProvider;
894
+ }
895
+ interface ChangeImpactBrief {
896
+ title: string;
897
+ releaseVersion: string;
898
+ date: string;
899
+ audience: string;
900
+ executiveSummary: string;
901
+ technicalSummary: string;
902
+ affectedBusinessAreas: string[];
903
+ riskLevel: "low" | "medium" | "high" | "critical";
904
+ riskJustification: string;
905
+ complianceImpact: string;
906
+ rollbackComplexity: "simple" | "moderate" | "complex";
907
+ rollbackGuidance: string;
908
+ recommendedActions: string[];
909
+ approvalRequired: boolean;
910
+ metrics: {
911
+ commits: number;
912
+ filesChanged: number;
913
+ capabilitiesAffected: number;
914
+ coherenceDelta: number | null;
915
+ };
916
+ }
917
+ declare function generateChangeImpactBrief(opts: GenerateChangeImpactBriefOpts): Promise<ChangeImpactBrief>;
918
+
919
+ /**
920
+ * generateRoiSlide.ts
921
+ *
922
+ * FORGE generator that converts a PRISM ROI estimate into a CFO-ready
923
+ * 5-slide executive deck. Uses LLM to craft persuasive copy; falls back
924
+ * to deterministic templates when the LLM is unavailable.
925
+ *
926
+ * @amber-capability forge.roi-slide
927
+ * @amber-doc Converts PRISM technical-debt ROI estimates into executive slide decks
928
+ */
929
+
930
+ interface RoiBreakdownItem {
931
+ count: number;
932
+ hoursPerMonth: number;
933
+ cost: number;
934
+ }
935
+ interface RoiEstimate {
936
+ currentScore: number;
937
+ currentGrade: string;
938
+ estimatedMaintenanceHoursPerMonth: number;
939
+ maintenanceCostPerMonth: number;
940
+ maintenanceCostPerYear: number;
941
+ targetScore: number;
942
+ targetGrade: string;
943
+ savedHoursPerMonth: number;
944
+ savedCostPerMonth: number;
945
+ savedCostPerYear: number;
946
+ roiMultiple: number;
947
+ breakdown: {
948
+ importCycles: RoiBreakdownItem;
949
+ documentationDrift: RoiBreakdownItem;
950
+ highChurnFiles: RoiBreakdownItem;
951
+ orphanedCode: RoiBreakdownItem;
952
+ };
953
+ estimatedRemediationDays: number;
954
+ breakEvenMonths: number;
955
+ headline: string;
956
+ recommendation: string;
957
+ }
958
+ type RoiSlideType = "title" | "problem" | "cost-breakdown" | "scenarios" | "recommendation" | "cta";
959
+ interface RoiSlide {
960
+ type: RoiSlideType;
961
+ title: string;
962
+ content: string;
963
+ highlight?: string;
964
+ highlightLabel?: string;
965
+ bullets?: string[];
966
+ }
967
+ interface RoiSlideOutput {
968
+ title: string;
969
+ slides: RoiSlide[];
970
+ executiveSummary: string;
971
+ oneLinePitch: string;
972
+ }
973
+ interface GenerateRoiSlideOpts {
974
+ roiEstimate: RoiEstimate;
975
+ organizationName?: string;
976
+ currency: "EUR" | "USD" | "GBP";
977
+ llm: LlmProvider;
978
+ }
979
+ declare function generateRoiSlide(opts: GenerateRoiSlideOpts): Promise<RoiSlideOutput>;
980
+
780
981
  type WidgetKind = "stat-card" | "feature-grid" | "testimonial" | "cta-banner" | "metric-badge" | "pricing-tier" | "changelog-row" | "social-proof" | "animated-stat" | "release-card" | "chart-bars" | "architecture-badge";
781
982
  type WidgetSlotType = "text" | "number" | "color" | "url" | "image-url" | "multiline" | "select";
782
983
  /** "html" = embeddable fragment (no CDN scripts).
@@ -1384,4 +1585,4 @@ declare function exportToICalendar(entries: ScheduledEntry[]): string;
1384
1585
  type ExportFormat = "buffer" | "hypefury" | "icalendar";
1385
1586
  declare function previewExport(entries: ScheduledEntry[], format: ExportFormat): string;
1386
1587
 
1387
- export { type ADRDocument, type ADROutput, ANIMATION_DURATION_PRESETS, type AdrContext, type AmberCapabilityContext, type AmberLayerContext, type Arc42Document, type Arc42Options, type Arc42Section, type ArchitectureWalkthroughOpts, type ArrayField, type AskDrivenAssetFormat, type AskDrivenAssetOpts, type AssetKind, type AssetSlotsValidationErr, type AssetSlotsValidationOk, type AssetSlotsValidationResult, type AssetVersion, type AudienceId, BRAND_CONTENT_SLOT_KEYS, BUNDLED_DISPATCH_CHANNELS, BUNDLED_STYLE_PRESETS, BUNDLED_WIDGET_TEMPLATES, type BlueprintData, type BlueprintEdge, type BlueprintFile, type BooleanField, type BrandKit, type BrandKitFonts, type BrandKitLogo, type BrandKitPalette, type BrandKitSnapshot, type BrandKitVoice, type BrandPalette, type BrandThemeConfig, type ChangesSinceOpts, type Channel, type ChannelKind, type ChannelOutput, type ComplianceCapabilityRecord, type ComplianceContext, type ComplianceDocOutput, type ComplianceFramework, type ComplianceSection, DEFAULT_ANIMATION_DURATION_SECONDS, DEFAULT_BRAND_KIT_FONTS, DEFAULT_BRAND_KIT_PALETTE, DEFAULT_BRAND_KIT_VOICE, DISPATCH_CHANNEL_BLOG, DISPATCH_CHANNEL_EMAIL, DISPATCH_CHANNEL_HN, DISPATCH_CHANNEL_INSTAGRAM, DISPATCH_CHANNEL_LINKEDIN, DISPATCH_CHANNEL_NEWSLETTER, DISPATCH_CHANNEL_REDDIT, DISPATCH_CHANNEL_SLACK, DISPATCH_CHANNEL_TWEET, type DiffEntry, type DiffResult, type DispatchAudienceContext, type DispatchBrandContext, type DispatchChannel, type DispatchRun, type ExportFormat, FORGE_AUDIENCES, FORGE_BRAND_THEME_ID, FORGE_TEMPLATES, FREE_TIER_WIDGET_IDS, type FileEntry, type ForgeAsset, type ForgeAudience, type ForgeGenerationDryRun, type ForgeGenerationError, type ForgeGenerationGenerated, type ForgeGenerationInput, type ForgeGenerationResult, type ForgeOutput, type ForgePrompt, type ForgeScope, type ForgeSignal, type ForgeStorage, type ForgeSubview, type ForgeTemplate, type ForgeThemeEntry, type FormErrors, type FormField, type FormSpec, type FormSpecOk, type FormSpecRaw, type Format, type GenerateADROpts, type GenerateComplianceDocOpts, type GenerateNewsletterOpts, type GeneratePresentationOpts, type GenerateSprintRetroOpts, type GenerationResult, type GitRangeContext, type GreenInsightContext, type GreenLayerContext, type Intent, type KnowledgeCaptureOptions, type KnowledgeCaptureResult, type KnowledgeCaptureSection, type ListOutputsOpts, type LlmMessage, type LlmProvider, type LlmRequest, type LlmResponse, MAX_ANIMATION_DURATION_SECONDS, MIN_ANIMATION_DURATION_SECONDS, type Modality, type NewsletterOutput, type NumberField, type ObjectField, type OnboardingDocOpts, type OrchestrationInput, type OrchestrationResult, type OutputStatus, PRISM_TEMPLATES, PRISM_TEMPLATE_ARCHITECTURE_OVERVIEW, PRISM_TEMPLATE_REFACTOR_RATIONALE, PRISM_TEMPLATE_RELEASE_ANNOUNCEMENT, PRISM_TEMPLATE_SHIPPING_DIGEST, PRISM_TEMPLATE_ZONE_DEEPDIVE, type PresentationOutput, type PresentationSlide, type PresentationSlideType, type PrismBrandDraft, type PrismContextPrompt, type PrismData, type PrismFocus, type PrismInsight, type PrismRecommendation, type PrismSession, type PrismTemplate, type ProductTruth, type ProductTruthClaim, REFINE_COUNTDOWN_THRESHOLD, REFINE_SESSION_SOFT_CAP, REFINE_SUGGESTIONS, type RadioOptions, type RadioResult, type ReadingLevel, type RefactoringReportOpts, type RefineAssetInput, type RefineAssetResult, type RefineLimitState, type RefineSuggestion, type ReleaseNotesOpts, type RenderWidgetInput, type ResolveBrandPaletteInput, type ResolvedTuple, STYLE_PRESET_BRUTALIST, STYLE_PRESET_DEFAULT, STYLE_PRESET_GLASSY, STYLE_PRESET_MINIMAL, type ScheduleRange, type ScheduledEntry, type ScheduledEntryMetadata, type ScheduledStatus, type SchemaDefinitionErr, type SchemaDefinitionOk, type SchemaDefinitionResult, type ScopeKind, type SignalKind, type SprintRetroOutput, type StringField, type StyleTokens, TEMPLATE_SCHEMA_EXAMPLES, TEMPLATE_SCHEMA_GENERIC, type TokenUsage, type Tonality, type UrlBrandHints, type ValidationErr, type ValidationOk, type ValidationResult, WIDGET_TEMPLATE_CHANGELOG_ROW, WIDGET_TEMPLATE_CTA_BANNER, WIDGET_TEMPLATE_FEATURE_GRID, WIDGET_TEMPLATE_METRIC_BADGE, WIDGET_TEMPLATE_PRICING_TIER, WIDGET_TEMPLATE_SOCIAL_PROOF, WIDGET_TEMPLATE_STAT_CARD, WIDGET_TEMPLATE_TESTIMONIAL, type WeeklyDigestContext, type WidgetExportFormat, type WidgetInstance, type WidgetInstanceSnapshot, type WidgetKind, type WidgetSlotDef, type WidgetSlotType, type WidgetStyle, type WidgetStyleSnapshot, type WidgetTemplate, type Zone, applyEntryPatch, asAudienceId, assembleBrandUrlExtractionPrompt, assembleForgePrompt, brandThemeConfigToEntry, buildPrismContextPrompt, buildRevertVersion, buildScheduledEntry, buildVersion, cascadingScheduledFor, clampAnimationDuration, computeDiff, defaultBrandKit, defaultValueForField, deriveContextSummary, distill, entryInRange, exportToBufferCsv, exportToHypefuryCsv, exportToICalendar, extractBrandFromPrismBlueprint, extractDependencyHotspots, extractTopChurnFiles, extractZones, generateADR, generateArc42, generateArchitectureWalkthrough, generateAskDrivenAsset, generateChangesSince, generateComplianceDoc, generateKnowledgeCapture, generateNewsletter, generateOnboardingDoc, generatePresentation, generateRadio, generateRefactoringReport, generateReleaseNotes, generateSprintRetro, getDispatchChannel, getPrismTemplate, getSlotValue, getStyleById, getWidgetTemplate, initialFormValues, next7DaysRange, nextVersionNumber, normalizePrismlensBlueprint, orchestrateDispatch, parseAndValidateSchemaDefinition, parseBrandKitFromLlmResponse, parseBrandThemeContent, parseStyleFromCss, parseStyleFromTailwindConfig, parseStyleFromTokensJson, parseThemeConfigContent, previewExport, readAmberLayer, readBlueprintData, readBlueprintFromTarget, readGreenLayer, readPrismDirectory, refineAsset, refineLimitState, renderWidget, resolveAnimatedChoice, resolveAnimationDuration, resolveBrandPalette, runForgeGeneration, scanForSecrets, schemaExampleFor, schemaToForm, templateAnimatedDefault, themeEntryToPalette, tryParseJsonObject, validateAgainstTemplateSchema, validateAssetSlots, validateFormValues, validateSchemaDefinition };
1588
+ export { type ADRDocument, type ADROutput, ANIMATION_DURATION_PRESETS, type AdrContext, type AmberCapabilityContext, type AmberLayerContext, type ApiChange, type ApiChangeContext, type ApiChangelogOutput, type Arc42Document, type Arc42Options, type Arc42Section, type ArchitectureWalkthroughOpts, type ArrayField, type AskDrivenAssetFormat, type AskDrivenAssetOpts, type AssetKind, type AssetSlotsValidationErr, type AssetSlotsValidationOk, type AssetSlotsValidationResult, type AssetVersion, type AudienceId, BRAND_CONTENT_SLOT_KEYS, BUNDLED_DISPATCH_CHANNELS, BUNDLED_STYLE_PRESETS, BUNDLED_WIDGET_TEMPLATES, type BlueprintData, type BlueprintEdge, type BlueprintFile, type BooleanField, type BrandKit, type BrandKitFonts, type BrandKitLogo, type BrandKitPalette, type BrandKitSnapshot, type BrandKitVoice, type BrandPalette, type BrandThemeConfig, type ChangeImpactBrief, type ChangeImpactContext, type ChangesSinceOpts, type Channel, type ChannelKind, type ChannelOutput, type ComplianceCapabilityRecord, type ComplianceContext, type ComplianceDocOutput, type ComplianceFramework, type ComplianceSection, DEFAULT_ANIMATION_DURATION_SECONDS, DEFAULT_BRAND_KIT_FONTS, DEFAULT_BRAND_KIT_PALETTE, DEFAULT_BRAND_KIT_VOICE, DISPATCH_CHANNEL_BLOG, DISPATCH_CHANNEL_EMAIL, DISPATCH_CHANNEL_HN, DISPATCH_CHANNEL_INSTAGRAM, DISPATCH_CHANNEL_LINKEDIN, DISPATCH_CHANNEL_NEWSLETTER, DISPATCH_CHANNEL_REDDIT, DISPATCH_CHANNEL_SLACK, DISPATCH_CHANNEL_TWEET, type DiffEntry, type DiffResult, type DispatchAudienceContext, type DispatchBrandContext, type DispatchChannel, type DispatchRun, type ExportFormat, FORGE_AUDIENCES, FORGE_BRAND_THEME_ID, FORGE_TEMPLATES, FREE_TIER_WIDGET_IDS, type FileEntry, type ForgeAsset, type ForgeAudience, type ForgeGenerationDryRun, type ForgeGenerationError, type ForgeGenerationGenerated, type ForgeGenerationInput, type ForgeGenerationResult, type ForgeOutput, type ForgePrompt, type ForgeScope, type ForgeSignal, type ForgeStorage, type ForgeSubview, type ForgeTemplate, type ForgeThemeEntry, type FormErrors, type FormField, type FormSpec, type FormSpecOk, type FormSpecRaw, type Format, type GenerateADROpts, type GenerateApiChangelogOpts, type GenerateChangeImpactBriefOpts, type GenerateComplianceDocOpts, type GenerateNewsletterOpts, type GeneratePresentationOpts, type GenerateRoiSlideOpts, type GenerateSprintRetroOpts, type GenerationResult, type GitRangeContext$1 as GitRangeContext, type GreenInsightContext, type GreenLayerContext, type Intent, type KnowledgeCaptureOptions, type KnowledgeCaptureResult, type KnowledgeCaptureSection, type ListOutputsOpts, type LlmMessage, type LlmProvider, type LlmRequest, type LlmResponse, MAX_ANIMATION_DURATION_SECONDS, MIN_ANIMATION_DURATION_SECONDS, type Modality, type NewsletterOutput, type NumberField, type ObjectField, type OnboardingDocOpts, type OrchestrationInput, type OrchestrationResult, type OutputStatus, PRISM_TEMPLATES, PRISM_TEMPLATE_ARCHITECTURE_OVERVIEW, PRISM_TEMPLATE_REFACTOR_RATIONALE, PRISM_TEMPLATE_RELEASE_ANNOUNCEMENT, PRISM_TEMPLATE_SHIPPING_DIGEST, PRISM_TEMPLATE_ZONE_DEEPDIVE, type PresentationOutput, type PresentationSlide, type PresentationSlideType, type PrismBrandDraft, type PrismContextPrompt, type PrismData, type PrismFocus, type PrismInsight, type PrismRecommendation, type PrismSession, type PrismTemplate, type ProductTruth, type ProductTruthClaim, REFINE_COUNTDOWN_THRESHOLD, REFINE_SESSION_SOFT_CAP, REFINE_SUGGESTIONS, type RadioOptions, type RadioResult, type ReadingLevel, type RefactoringReportOpts, type RefineAssetInput, type RefineAssetResult, type RefineLimitState, type RefineSuggestion, type ReleaseNotesOpts, type RenderWidgetInput, type ResolveBrandPaletteInput, type ResolvedTuple, type RoiBreakdownItem, type RoiEstimate, type RoiSlide, type RoiSlideOutput, type RoiSlideType, STYLE_PRESET_BRUTALIST, STYLE_PRESET_DEFAULT, STYLE_PRESET_GLASSY, STYLE_PRESET_MINIMAL, type ScheduleRange, type ScheduledEntry, type ScheduledEntryMetadata, type ScheduledStatus, type SchemaDefinitionErr, type SchemaDefinitionOk, type SchemaDefinitionResult, type ScopeKind, type SignalKind, type SprintRetroOutput, type StringField, type StyleTokens, TEMPLATE_SCHEMA_EXAMPLES, TEMPLATE_SCHEMA_GENERIC, type TokenUsage, type Tonality, type UrlBrandHints, type ValidationErr, type ValidationOk, type ValidationResult, WIDGET_TEMPLATE_CHANGELOG_ROW, WIDGET_TEMPLATE_CTA_BANNER, WIDGET_TEMPLATE_FEATURE_GRID, WIDGET_TEMPLATE_METRIC_BADGE, WIDGET_TEMPLATE_PRICING_TIER, WIDGET_TEMPLATE_SOCIAL_PROOF, WIDGET_TEMPLATE_STAT_CARD, WIDGET_TEMPLATE_TESTIMONIAL, type WeeklyDigestContext, type WidgetExportFormat, type WidgetInstance, type WidgetInstanceSnapshot, type WidgetKind, type WidgetSlotDef, type WidgetSlotType, type WidgetStyle, type WidgetStyleSnapshot, type WidgetTemplate, type Zone, applyEntryPatch, asAudienceId, assembleBrandUrlExtractionPrompt, assembleForgePrompt, brandThemeConfigToEntry, buildPrismContextPrompt, buildRevertVersion, buildScheduledEntry, buildVersion, cascadingScheduledFor, clampAnimationDuration, computeDiff, defaultBrandKit, defaultValueForField, deriveContextSummary, distill, entryInRange, exportToBufferCsv, exportToHypefuryCsv, exportToICalendar, extractBrandFromPrismBlueprint, extractDependencyHotspots, extractTopChurnFiles, extractZones, generateADR, generateApiChangelog, generateArc42, generateArchitectureWalkthrough, generateAskDrivenAsset, generateChangeImpactBrief, generateChangesSince, generateComplianceDoc, generateKnowledgeCapture, generateNewsletter, generateOnboardingDoc, generatePresentation, generateRadio, generateRefactoringReport, generateReleaseNotes, generateRoiSlide, generateSprintRetro, getDispatchChannel, getPrismTemplate, getSlotValue, getStyleById, getWidgetTemplate, initialFormValues, next7DaysRange, nextVersionNumber, normalizePrismlensBlueprint, orchestrateDispatch, parseAndValidateSchemaDefinition, parseBrandKitFromLlmResponse, parseBrandThemeContent, parseStyleFromCss, parseStyleFromTailwindConfig, parseStyleFromTokensJson, parseThemeConfigContent, previewExport, readAmberLayer, readBlueprintData, readBlueprintFromTarget, readGreenLayer, readPrismDirectory, refineAsset, refineLimitState, renderWidget, resolveAnimatedChoice, resolveAnimationDuration, resolveBrandPalette, runForgeGeneration, scanForSecrets, schemaExampleFor, schemaToForm, templateAnimatedDefault, themeEntryToPalette, tryParseJsonObject, validateAgainstTemplateSchema, validateAssetSlots, validateFormValues, validateSchemaDefinition };