@maykonpaulo/maestro-core 0.3.0-next.2 → 0.3.0-next.4

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/index.d.ts CHANGED
@@ -632,14 +632,150 @@ interface RelationSchema {
632
632
  display?: RelationDisplayConfig;
633
633
  }
634
634
 
635
+ type OperationalRisk = 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
636
+
637
+ interface RiskClassificationInput {
638
+ operation: string;
639
+ resource?: ResourceRef;
640
+ metadata?: Metadata;
641
+ }
642
+ interface RiskClassifier {
643
+ classify(input: RiskClassificationInput): OperationalRisk;
644
+ }
645
+
646
+ declare class MetadataRiskClassifier implements RiskClassifier {
647
+ private readonly operationRiskMap;
648
+ private readonly defaultRisk;
649
+ constructor(operationRiskMap?: Record<string, OperationalRisk>, defaultRisk?: OperationalRisk);
650
+ classify(input: RiskClassificationInput): OperationalRisk;
651
+ }
652
+
653
+ interface EnumOptionDeclaration {
654
+ value: string | number;
655
+ label: string;
656
+ }
657
+ interface FieldDeclaration {
658
+ type: FieldType;
659
+ label?: string;
660
+ required?: boolean;
661
+ readonly?: boolean;
662
+ primary?: boolean;
663
+ sensitive?: boolean;
664
+ visible?: boolean;
665
+ searchable?: boolean;
666
+ sortable?: boolean;
667
+ filterable?: boolean;
668
+ exportable?: boolean;
669
+ description?: string;
670
+ /** Options for enum fields. Only valid when type is 'enum'. */
671
+ enumOptions?: EnumOptionDeclaration[];
672
+ /** Target entity identifier for relation fields. Only valid when type is 'relation'. */
673
+ relationEntity?: string;
674
+ }
675
+ interface ConfirmationDeclaration {
676
+ required: boolean;
677
+ approvers?: number;
678
+ }
679
+ interface OperationDeclaration {
680
+ label: string;
681
+ description?: string;
682
+ scope?: OperationScope;
683
+ risk?: OperationalRisk;
684
+ audit?: boolean;
685
+ confirmation?: ConfirmationDeclaration;
686
+ permission?: string;
687
+ }
688
+ interface RelationDeclaration {
689
+ /** Explicit relation identifier. Derived as `${fromEntity}.${toEntity}` when absent. */
690
+ id?: string;
691
+ type: RelationType;
692
+ /** Field in the declaring entity that holds the foreign key or join key. */
693
+ fromField: string;
694
+ /** Identifier of the target entity. Cross-entity references are validated at startup. */
695
+ toEntity: string;
696
+ /** Field in the target entity that the relation points to. */
697
+ toField: string;
698
+ /** Human-readable label. Defaults to capitalizeFirst(toEntity) when absent. */
699
+ label?: string;
700
+ display?: {
701
+ tab?: boolean;
702
+ label?: string;
703
+ };
704
+ }
705
+ interface EntityDeclaration {
706
+ entity: string;
707
+ /** Human-readable singular label (e.g. "User"). */
708
+ label?: string;
709
+ /** Human-readable plural label (e.g. "Users"). Defaults to `label` when absent. */
710
+ pluralLabel?: string;
711
+ description?: string;
712
+ fields: Record<string, FieldDeclaration>;
713
+ /** Capability overrides merged over DEFAULT_CAPABILITIES at startup. */
714
+ capabilities?: Partial<EntityCapabilities>;
715
+ operations?: Record<string, OperationDeclaration>;
716
+ /** Relationships from this entity to other entities. Cross-entity refs are validated at startup. */
717
+ relationships?: RelationDeclaration[];
718
+ }
719
+
720
+ interface ConsumerListConfig {
721
+ fields?: string[];
722
+ }
723
+ interface ConsumerDetailConfig {
724
+ fields?: string[];
725
+ }
726
+ interface ConsumerFormConfig {
727
+ fields?: string[];
728
+ }
729
+ interface ConsumerFormsConfig {
730
+ create?: ConsumerFormConfig;
731
+ update?: ConsumerFormConfig;
732
+ clone?: ConsumerFormConfig;
733
+ }
734
+ interface ConsumerActionsConfig {
735
+ row?: string[];
736
+ bulk?: string[];
737
+ global?: string[];
738
+ }
739
+ interface ConsumerDeclaration {
740
+ consumer: string;
741
+ entity: string;
742
+ list?: ConsumerListConfig;
743
+ detail?: ConsumerDetailConfig;
744
+ forms?: ConsumerFormsConfig;
745
+ actions?: ConsumerActionsConfig;
746
+ }
747
+
748
+ interface DeclarativeConfig {
749
+ entities: EntityDeclaration[];
750
+ consumers?: ConsumerDeclaration[];
751
+ /**
752
+ * Datasource ID to use for all declared entities that don't specify one.
753
+ * Required when more than one datasource is configured in the engine.
754
+ * When only one datasource is configured, it is used automatically.
755
+ */
756
+ defaultDatasource?: string;
757
+ }
758
+
635
759
  interface MaestroConfig {
636
760
  datasources: Record<string, DatasourceProvider>;
637
- entities: EntitySchema[];
761
+ /**
762
+ * Entities defined using the low-level EntitySchema format.
763
+ * Can be combined with `declarations.entities` or used alone.
764
+ * Required when `declarations` is not provided.
765
+ */
766
+ entities?: EntitySchema[];
638
767
  relations?: RelationSchema[];
639
768
  operations?: OperationDef[];
640
769
  policies?: RbacPolicy;
641
770
  audit?: AuditRepository;
642
771
  logger?: Logger;
772
+ /**
773
+ * Declarative entity and consumer definitions.
774
+ * Entities declared here are compiled to EntitySchema and merged with `entities`.
775
+ * Operations declared here are registered as stubs; provide real implementations in `operations`.
776
+ * Required when `entities` is not provided.
777
+ */
778
+ declarations?: DeclarativeConfig;
643
779
  }
644
780
 
645
781
  interface SchemaValidationError {
@@ -668,14 +804,49 @@ interface ExportResult {
668
804
  mimeType: string;
669
805
  }
670
806
 
807
+ interface ConsumerProjectionFields {
808
+ list: FieldMetadata[];
809
+ detail: FieldMetadata[];
810
+ create: FieldMetadata[];
811
+ update: FieldMetadata[];
812
+ clone: FieldMetadata[];
813
+ }
814
+ interface ConsumerProjectionOperations {
815
+ row: OperationMetadata[];
816
+ bulk: OperationMetadata[];
817
+ global: OperationMetadata[];
818
+ }
819
+ /**
820
+ * A resolved, runtime projection of a ConsumerDeclaration against a compiled EntityMetadata.
821
+ * Contains FieldMetadata and OperationMetadata objects — not raw names — ready for consumption
822
+ * by UI, API, or CLI layers.
823
+ */
824
+ interface ResolvedConsumerProjection {
825
+ consumer: string;
826
+ entity: string;
827
+ fields: ConsumerProjectionFields;
828
+ operations: ConsumerProjectionOperations;
829
+ }
830
+
671
831
  declare class MaestroEngine {
672
832
  private readonly metadata;
673
833
  private readonly datasources;
674
834
  private readonly operations;
675
835
  private readonly audit?;
676
836
  private readonly rbac;
677
- constructor(metadata: MaestroMetadata, datasources: DatasourceRegistry, operations: OperationRegistry, audit?: AuditRecorder | undefined);
837
+ private readonly consumerMap;
838
+ constructor(metadata: MaestroMetadata, datasources: DatasourceRegistry, operations: OperationRegistry, audit?: AuditRecorder | undefined, consumers?: ResolvedConsumerProjection[]);
678
839
  getMetadata(): MaestroMetadata;
840
+ /**
841
+ * Returns the resolved consumer projection for the given consumer ID, or undefined if not found.
842
+ * Each call returns an independent copy — mutations to the returned object do not affect internal state.
843
+ * Consumer projections are only available when declarations.consumers were provided to createMaestro().
844
+ */
845
+ getConsumer(consumerId: string): ResolvedConsumerProjection | undefined;
846
+ /**
847
+ * Returns the IDs of all registered consumer projections.
848
+ */
849
+ listConsumers(): string[];
679
850
  list(entityId: string, query: QueryInput, actor: Actor): Promise<ListResult<Record<string, unknown>>>;
680
851
  findById(entityId: string, id: string, actor: Actor): Promise<Record<string, unknown> | null>;
681
852
  create(entityId: string, data: Record<string, unknown>, actor: Actor): Promise<Record<string, unknown>>;
@@ -1019,24 +1190,6 @@ interface CorrelationContext {
1019
1190
  correlationId: CorrelationId;
1020
1191
  }
1021
1192
 
1022
- type OperationalRisk = 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
1023
-
1024
- interface RiskClassificationInput {
1025
- operation: string;
1026
- resource?: ResourceRef;
1027
- metadata?: Metadata;
1028
- }
1029
- interface RiskClassifier {
1030
- classify(input: RiskClassificationInput): OperationalRisk;
1031
- }
1032
-
1033
- declare class MetadataRiskClassifier implements RiskClassifier {
1034
- private readonly operationRiskMap;
1035
- private readonly defaultRisk;
1036
- constructor(operationRiskMap?: Record<string, OperationalRisk>, defaultRisk?: OperationalRisk);
1037
- classify(input: RiskClassificationInput): OperationalRisk;
1038
- }
1039
-
1040
1193
  type AuthorizationDecision = 'ALLOW' | 'DENY' | 'REQUIRES_CONFIRMATION';
1041
1194
 
1042
1195
  interface AuthorizationContext {
@@ -1173,68 +1326,31 @@ declare class InMemoryConfirmationRepository implements ConfirmationRepository {
1173
1326
  listPending(): Promise<ConfirmationRequest[]>;
1174
1327
  }
1175
1328
 
1176
- interface FieldDeclaration {
1177
- type: FieldType;
1178
- label?: string;
1179
- required?: boolean;
1180
- readonly?: boolean;
1181
- primary?: boolean;
1182
- sensitive?: boolean;
1183
- visible?: boolean;
1184
- searchable?: boolean;
1185
- sortable?: boolean;
1186
- filterable?: boolean;
1187
- exportable?: boolean;
1188
- description?: string;
1189
- }
1190
- interface ConfirmationDeclaration {
1191
- required: boolean;
1192
- approvers?: number;
1193
- }
1194
- interface OperationDeclaration {
1195
- label: string;
1196
- description?: string;
1197
- scope?: OperationScope;
1198
- risk?: OperationalRisk;
1199
- audit?: boolean;
1200
- confirmation?: ConfirmationDeclaration;
1201
- permission?: string;
1202
- }
1203
- interface EntityDeclaration {
1204
- entity: string;
1205
- label?: string;
1206
- description?: string;
1207
- fields: Record<string, FieldDeclaration>;
1208
- operations?: Record<string, OperationDeclaration>;
1209
- }
1210
-
1211
- interface ConsumerListConfig {
1212
- fields?: string[];
1213
- }
1214
- interface ConsumerDetailConfig {
1215
- fields?: string[];
1216
- }
1217
- interface ConsumerFormConfig {
1218
- fields?: string[];
1219
- }
1220
- interface ConsumerFormsConfig {
1221
- create?: ConsumerFormConfig;
1222
- update?: ConsumerFormConfig;
1223
- clone?: ConsumerFormConfig;
1224
- }
1225
- interface ConsumerActionsConfig {
1226
- row?: string[];
1227
- bulk?: string[];
1228
- global?: string[];
1329
+ interface DeclarativeCompilationResult {
1330
+ valid: boolean;
1331
+ errors: SchemaValidationError[];
1332
+ entities: EntitySchema[];
1333
+ /** Operation stubs for declared operations. Real implementations in config.operations override these. */
1334
+ operations: OperationDef[];
1335
+ /** Validated consumer declarations ready for resolution after metadata is built. */
1336
+ consumers: ConsumerDeclaration[];
1337
+ /** Relation schemas derived from RelationDeclaration[]. Cross-entity refs validated at startup. */
1338
+ relations: RelationSchema[];
1229
1339
  }
1230
- interface ConsumerDeclaration {
1231
- consumer: string;
1232
- entity: string;
1233
- list?: ConsumerListConfig;
1234
- detail?: ConsumerDetailConfig;
1235
- forms?: ConsumerFormsConfig;
1236
- actions?: ConsumerActionsConfig;
1340
+ interface CompileDeclarationsOptions {
1341
+ datasourceIds: string[];
1342
+ /**
1343
+ * Datasource to assign to all declared entities.
1344
+ * Resolved by the caller: either declarations.defaultDatasource or the single available datasource.
1345
+ */
1346
+ defaultDatasource?: string;
1237
1347
  }
1348
+ declare function compileDeclarations(config: DeclarativeConfig, options: CompileDeclarationsOptions): DeclarativeCompilationResult;
1349
+ /**
1350
+ * Resolves validated ConsumerDeclarations against the fully-built MaestroMetadata.
1351
+ * Must be called after MetadataEngine.normalize() has produced the final EntityMetadata[].
1352
+ */
1353
+ declare function resolveConsumerProjections(consumers: ConsumerDeclaration[], metadata: MaestroMetadata): ResolvedConsumerProjection[];
1238
1354
 
1239
1355
  declare function validateEntityDeclaration(input: unknown): SchemaValidationResult;
1240
1356
  declare function validateConsumerDeclaration(input: unknown, entity?: EntityDeclaration): SchemaValidationResult;
@@ -1312,4 +1428,4 @@ declare class DefaultGovernanceApi implements GovernanceApi {
1312
1428
  getPolicyViolations(filter?: PolicyViolationFilter): Promise<PolicyViolation[]>;
1313
1429
  }
1314
1430
 
1315
- export { type Actor, type ActorType, type AuditEvent, type AuditFilter, type AuditLevel, type AuditRecordedPayload, AuditRecorder, type AuditRepository, type AuditTimeline, type AuthorizationContext, type AuthorizationDecision, type AuthorizationDeniedPayload, type AuthorizationProvider, type AuthorizationResult, type ConfigProvider, type ConfirmationApproval, type ConfirmationApprovedPayload, type ConfirmationDeclaration, ConfirmationEngine, type ConfirmationRejectedPayload, type ConfirmationRepository, type ConfirmationRequest, type ConfirmationRequestedPayload, type ConfirmationStatus, ConsoleLogger, ConsoleStructuredLogger, type ConsumerActionsConfig, type ConsumerDeclaration, type ConsumerDetailConfig, type ConsumerFormConfig, type ConsumerFormsConfig, type ConsumerListConfig, type ContextAction, type ContextActionCondition, type ContextActionStyle, ContextualAuthorizationEngine, type CorrelationContext, type CorrelationId, type CreateMaestroFromIntrospectionOptions, CsvExportProvider, type CursorPagination, DEFAULT_CAPABILITIES, type DatasourceDeleteContext, type DatasourceFindContext, type DatasourceProvider, type DatasourceQueryContext, DatasourceRegistry, type DatasourceUpdateContext, type DatasourceWriteContext, DefaultGovernanceApi, type DiffChange, type DiffChangeKind, DiffEngine, type DiffEngineOptions, type DiffSummary, type DomainEvent, type EntityCapabilities, type EntityDeclaration, type EntityDiffChange, type EntityDiffChangeKind, type EntityExportConfig, type EntityIntrospectionSchema, type EntityLabelConfig, type EntityMetadata, type EntitySchema, type EntitySourceConfig, type EnumOption, ErrorCode, type EventBus, type EventHandler, type ExportConfig, type ExportFormat, type ExportOptions, type ExportProvider, type ExportResult, type FeatureFlag, type FeatureFlagProvider, type FieldDeclaration, type FieldDetailConfig, type FieldDiffChange, type FieldDiffChangeKind, type FieldFormConfig, type FieldIntrospectionSchema, type FieldListConfig, type FieldMetadata, type FieldSchema, type FieldSchemaDetailConfig, type FieldSchemaEnumOption, type FieldSchemaFormConfig, type FieldSchemaListConfig, type FieldType, type FileSystemReader, type FilterDescriptor, type FilterOperator, GOVERNANCE_EVENT_TYPES, type GeneratedConfig, type GovernanceApi, type GovernanceEventBus, type GovernanceEventType, type ImpactLevel, InMemoryAuditRepository, InMemoryConfigProvider, InMemoryConfirmationRepository, InMemoryDatasourceProvider, InMemoryEventBus, InMemoryFeatureFlagProvider, InMemoryGovernanceEventBus, InMemoryPolicyProvider, InMemorySnapshotRepository, type IndexIntrospectionSchema, type IntrospectionDiff, type IntrospectionProvider, type IntrospectionReport, type IntrospectionReportChange, type IntrospectionReportStats, type IntrospectionResult, IntrospectionRuntime, type IntrospectionRuntimeResult, type IntrospectionRuntimeRunOptions, type IntrospectionSnapshot, type ListResult, type LoadedConfig, type LogEntry, type LogLevel, type Logger, type MaestroActorResolver, type MaestroConfig, MaestroEngine, MaestroError, type MaestroFileLoaderOptions, type MaestroHttpHandler, type MaestroHttpHandlers, type MaestroHttpOptions, type MaestroHttpRequest, type MaestroHttpResponse, type MaestroMetadata, type MaestroRequestContext, type MergeIntrospectionOptions, type MergeStrategy, type Metadata, MetadataEngine, MetadataRiskClassifier, type MetadataValue, type OffsetPagination, type OperationContext, type OperationDeclaration, type OperationDef, type OperationExecutedPayload, type OperationLogStatus, type OperationMetadata, OperationRegistry, type OperationResult, type OperationScope, type OperationalRisk, type PagePagination, type PaginationInput, type Permission, type PolicyContext, type PolicyDecision, PolicyEngine, type PolicyEvaluationResult, type PolicyProvider, type PolicyRule, type PolicyRuleResult, type PolicyTriggeredPayload, type PolicyViolation, type PolicyViolationFilter, type QueryInput, RbacEngine, type RbacPolicy, type RecordAuditInput, type RelationDiffChange, type RelationDiffChangeKind, type RelationDisplayConfig, type RelationEndpoint, type RelationIntrospectionSchema, type RelationMetadata, type RelationSchema, type RelationType, ReportGenerator, type RequestConfirmationInput, type ResourceRef, type RiskClassificationInput, type RiskClassifier, type Role, type SchemaValidationError, type SchemaValidationResult, type SearchConfig, type SearchInput, type SnapshotRepository, type SoftDeleteConfig, type SortDescriptor, type SortDirection, type StructuredLogEntry, type StructuredLogger, type YamlParser, createMaestro, createMaestroFromIntrospection, createMaestroHttpHandlers, detectDisplayField, generateAllConfigs, generateCorrelationId, generateEntityConfig, generateRelationConfig, humanizeFieldName, inferFieldType, isSearchCandidate, isSoftDeleteCandidate, isTimestampField, loadMaestroConfig, mergeIntrospectionWithOverrides, parseQueryInput, tableNameToEntityId, tableNameToLabel, validateConsumerDeclaration, validateEntityDeclaration, validateMaestroConfig };
1431
+ export { type Actor, type ActorType, type AuditEvent, type AuditFilter, type AuditLevel, type AuditRecordedPayload, AuditRecorder, type AuditRepository, type AuditTimeline, type AuthorizationContext, type AuthorizationDecision, type AuthorizationDeniedPayload, type AuthorizationProvider, type AuthorizationResult, type CompileDeclarationsOptions, type ConfigProvider, type ConfirmationApproval, type ConfirmationApprovedPayload, type ConfirmationDeclaration, ConfirmationEngine, type ConfirmationRejectedPayload, type ConfirmationRepository, type ConfirmationRequest, type ConfirmationRequestedPayload, type ConfirmationStatus, ConsoleLogger, ConsoleStructuredLogger, type ConsumerActionsConfig, type ConsumerDeclaration, type ConsumerDetailConfig, type ConsumerFormConfig, type ConsumerFormsConfig, type ConsumerListConfig, type ConsumerProjectionFields, type ConsumerProjectionOperations, type ContextAction, type ContextActionCondition, type ContextActionStyle, ContextualAuthorizationEngine, type CorrelationContext, type CorrelationId, type CreateMaestroFromIntrospectionOptions, CsvExportProvider, type CursorPagination, DEFAULT_CAPABILITIES, type DatasourceDeleteContext, type DatasourceFindContext, type DatasourceProvider, type DatasourceQueryContext, DatasourceRegistry, type DatasourceUpdateContext, type DatasourceWriteContext, type DeclarativeCompilationResult, type DeclarativeConfig, DefaultGovernanceApi, type DiffChange, type DiffChangeKind, DiffEngine, type DiffEngineOptions, type DiffSummary, type DomainEvent, type EntityCapabilities, type EntityDeclaration, type EntityDiffChange, type EntityDiffChangeKind, type EntityExportConfig, type EntityIntrospectionSchema, type EntityLabelConfig, type EntityMetadata, type EntitySchema, type EntitySourceConfig, type EnumOption, type EnumOptionDeclaration, ErrorCode, type EventBus, type EventHandler, type ExportConfig, type ExportFormat, type ExportOptions, type ExportProvider, type ExportResult, type FeatureFlag, type FeatureFlagProvider, type FieldDeclaration, type FieldDetailConfig, type FieldDiffChange, type FieldDiffChangeKind, type FieldFormConfig, type FieldIntrospectionSchema, type FieldListConfig, type FieldMetadata, type FieldSchema, type FieldSchemaDetailConfig, type FieldSchemaEnumOption, type FieldSchemaFormConfig, type FieldSchemaListConfig, type FieldType, type FileSystemReader, type FilterDescriptor, type FilterOperator, GOVERNANCE_EVENT_TYPES, type GeneratedConfig, type GovernanceApi, type GovernanceEventBus, type GovernanceEventType, type ImpactLevel, InMemoryAuditRepository, InMemoryConfigProvider, InMemoryConfirmationRepository, InMemoryDatasourceProvider, InMemoryEventBus, InMemoryFeatureFlagProvider, InMemoryGovernanceEventBus, InMemoryPolicyProvider, InMemorySnapshotRepository, type IndexIntrospectionSchema, type IntrospectionDiff, type IntrospectionProvider, type IntrospectionReport, type IntrospectionReportChange, type IntrospectionReportStats, type IntrospectionResult, IntrospectionRuntime, type IntrospectionRuntimeResult, type IntrospectionRuntimeRunOptions, type IntrospectionSnapshot, type ListResult, type LoadedConfig, type LogEntry, type LogLevel, type Logger, type MaestroActorResolver, type MaestroConfig, MaestroEngine, MaestroError, type MaestroFileLoaderOptions, type MaestroHttpHandler, type MaestroHttpHandlers, type MaestroHttpOptions, type MaestroHttpRequest, type MaestroHttpResponse, type MaestroMetadata, type MaestroRequestContext, type MergeIntrospectionOptions, type MergeStrategy, type Metadata, MetadataEngine, MetadataRiskClassifier, type MetadataValue, type OffsetPagination, type OperationContext, type OperationDeclaration, type OperationDef, type OperationExecutedPayload, type OperationLogStatus, type OperationMetadata, OperationRegistry, type OperationResult, type OperationScope, type OperationalRisk, type PagePagination, type PaginationInput, type Permission, type PolicyContext, type PolicyDecision, PolicyEngine, type PolicyEvaluationResult, type PolicyProvider, type PolicyRule, type PolicyRuleResult, type PolicyTriggeredPayload, type PolicyViolation, type PolicyViolationFilter, type QueryInput, RbacEngine, type RbacPolicy, type RecordAuditInput, type RelationDeclaration, type RelationDiffChange, type RelationDiffChangeKind, type RelationDisplayConfig, type RelationEndpoint, type RelationIntrospectionSchema, type RelationMetadata, type RelationSchema, type RelationType, ReportGenerator, type RequestConfirmationInput, type ResolvedConsumerProjection, type ResourceRef, type RiskClassificationInput, type RiskClassifier, type Role, type SchemaValidationError, type SchemaValidationResult, type SearchConfig, type SearchInput, type SnapshotRepository, type SoftDeleteConfig, type SortDescriptor, type SortDirection, type StructuredLogEntry, type StructuredLogger, type YamlParser, compileDeclarations, createMaestro, createMaestroFromIntrospection, createMaestroHttpHandlers, detectDisplayField, generateAllConfigs, generateCorrelationId, generateEntityConfig, generateRelationConfig, humanizeFieldName, inferFieldType, isSearchCandidate, isSoftDeleteCandidate, isTimestampField, loadMaestroConfig, mergeIntrospectionWithOverrides, parseQueryInput, resolveConsumerProjections, tableNameToEntityId, tableNameToLabel, validateConsumerDeclaration, validateEntityDeclaration, validateMaestroConfig };