@zodmire/core 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51,6 +51,12 @@ function contextArtifactOwnership(scopeKey) {
51
51
  scopeKey
52
52
  };
53
53
  }
54
+ function userArtifactOwnership(scopeKey) {
55
+ return {
56
+ ownershipScope: "user-owned",
57
+ scopeKey
58
+ };
59
+ }
54
60
  function applyOwnershipIfMissing(artifacts, ownership) {
55
61
  return artifacts.map((artifact) => artifact.ownershipScope !== void 0 && artifact.scopeKey !== void 0 ? artifact : withArtifactOwnership(artifact, ownership));
56
62
  }
@@ -88,4 +94,4 @@ function resolveArtifactOwnership(artifact, defaultSliceScopeKey = "default") {
88
94
  }
89
95
 
90
96
  //#endregion
91
- export { mergeGeneratedArtifacts as a, sliceArtifactOwnership as c, inferArtifactOwnership as i, withArtifactOwnership as l, contextArtifactOwnership as n, resolveArtifactOwnership as o, createGeneratedArtifact as r, sharedArtifactOwnership as s, applyOwnershipIfMissing as t };
97
+ export { mergeGeneratedArtifacts as a, sliceArtifactOwnership as c, inferArtifactOwnership as i, userArtifactOwnership as l, contextArtifactOwnership as n, resolveArtifactOwnership as o, createGeneratedArtifact as r, sharedArtifactOwnership as s, applyOwnershipIfMissing as t, withArtifactOwnership as u };
@@ -1,5 +1,5 @@
1
1
  //#region packages/core/artifacts.d.ts
2
- type OwnershipScope = "shared-owned" | "slice-owned" | "context-owned";
2
+ type OwnershipScope = "shared-owned" | "slice-owned" | "context-owned" | "user-owned";
3
3
  type ArtifactOwnership = {
4
4
  ownershipScope: OwnershipScope;
5
5
  scopeKey: string;
@@ -18,8 +18,9 @@ declare function mergeGeneratedArtifacts(...groups: GeneratedArtifact[][]): Gene
18
18
  declare function sharedArtifactOwnership(scopeKey?: string): ArtifactOwnership;
19
19
  declare function sliceArtifactOwnership(scopeKey: string): ArtifactOwnership;
20
20
  declare function contextArtifactOwnership(scopeKey: string): ArtifactOwnership;
21
+ declare function userArtifactOwnership(scopeKey: string): ArtifactOwnership;
21
22
  declare function applyOwnershipIfMissing(artifacts: GeneratedArtifact[], ownership: ArtifactOwnership): GeneratedArtifact[];
22
23
  declare function inferArtifactOwnership(logicalPath: string, defaultSliceScopeKey?: string): ArtifactOwnership;
23
24
  declare function resolveArtifactOwnership(artifact: Pick<GeneratedArtifact, "logicalPath" | "ownershipScope" | "scopeKey">, defaultSliceScopeKey?: string): ArtifactOwnership;
24
25
  //#endregion
25
- export { contextArtifactOwnership as a, mergeGeneratedArtifacts as c, sliceArtifactOwnership as d, withArtifactOwnership as f, applyOwnershipIfMissing as i, resolveArtifactOwnership as l, GeneratedArtifact as n, createGeneratedArtifact as o, OwnershipScope as r, inferArtifactOwnership as s, ArtifactOwnership as t, sharedArtifactOwnership as u };
26
+ export { contextArtifactOwnership as a, mergeGeneratedArtifacts as c, sliceArtifactOwnership as d, userArtifactOwnership as f, applyOwnershipIfMissing as i, resolveArtifactOwnership as l, GeneratedArtifact as n, createGeneratedArtifact as o, withArtifactOwnership as p, OwnershipScope as r, inferArtifactOwnership as s, ArtifactOwnership as t, sharedArtifactOwnership as u };
package/materialize.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { n as GeneratedArtifact } from "./artifacts-QqCpfT50.mjs";
1
+ import { n as GeneratedArtifact } from "./artifacts-lAG6nq88.mjs";
2
2
  import { z } from "zod";
3
3
 
4
4
  //#region packages/core/materialize.d.ts
@@ -8,6 +8,7 @@ declare const OwnedManifestEntrySchema: z.ZodObject<{
8
8
  "shared-owned": "shared-owned";
9
9
  "slice-owned": "slice-owned";
10
10
  "context-owned": "context-owned";
11
+ "user-owned": "user-owned";
11
12
  }>;
12
13
  scopeKey: z.ZodString;
13
14
  sourceArtifactId: z.ZodString;
@@ -22,6 +23,7 @@ declare const MaterializationManifestSchema: z.ZodObject<{
22
23
  "shared-owned": "shared-owned";
23
24
  "slice-owned": "slice-owned";
24
25
  "context-owned": "context-owned";
26
+ "user-owned": "user-owned";
25
27
  }>;
26
28
  scopeKey: z.ZodString;
27
29
  sourceArtifactId: z.ZodString;
@@ -53,6 +55,7 @@ type MaterializeResult = {
53
55
  type MaterializationScope = Pick<OwnedManifestEntry, "ownershipScope" | "scopeKey">;
54
56
  type MaterializeOptions = {
55
57
  reconcileScopes?: MaterializationScope[];
58
+ dryRun?: boolean;
56
59
  };
57
60
  type PreparedArtifact = {
58
61
  artifact: GeneratedArtifact;
package/materialize.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { c as sliceArtifactOwnership, i as inferArtifactOwnership, o as resolveArtifactOwnership } from "./artifacts-CUzHfc15.mjs";
1
+ import { c as sliceArtifactOwnership, i as inferArtifactOwnership, o as resolveArtifactOwnership } from "./artifacts-D0E751FX.mjs";
2
2
  import { z } from "zod";
3
3
  import { dirname, join } from "node:path";
4
4
  import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
@@ -12,7 +12,8 @@ async function loadOxfmt() {
12
12
  const OwnershipScopeSchema = z.enum([
13
13
  "shared-owned",
14
14
  "slice-owned",
15
- "context-owned"
15
+ "context-owned",
16
+ "user-owned"
16
17
  ]);
17
18
  const OwnedManifestEntrySchema = z.strictObject({
18
19
  logicalPath: z.string().min(1),
@@ -189,6 +190,7 @@ async function materializeOwnedArtifacts(targetRoot, artifacts, generatorVersion
189
190
  const destinationSha256 = await readDestinationSha256(destinationPath);
190
191
  const currentManifestEntry = currentManifestEntriesBySourceArtifactId.get(artifact.dataName);
191
192
  if (currentManifestEntry === void 0) throw new Error(`Materialization manifest missing current entry for artifact: ${artifact.logicalPath}`);
193
+ if (artifact.ownershipScope === "user-owned" && destinationSha256 !== void 0) continue;
192
194
  const previousManifestEntry = findScopedManifestEntry(previousOwnedEntries, currentManifestEntry);
193
195
  const action = determineMaterializationAction(destinationSha256 !== void 0, previousManifestEntry?.contentSha256, destinationSha256);
194
196
  if (action === "conflict") throw new Error(`Materialization conflict for generator-owned file: ${artifact.logicalPath}`);
@@ -212,18 +214,20 @@ async function materializeOwnedArtifacts(targetRoot, artifacts, generatorVersion
212
214
  destinationPath
213
215
  });
214
216
  }
215
- for (const staleFile of plannedDeletes) await removePathIfExists(staleFile.destinationPath);
216
- for (const write of plannedWrites) {
217
- await mkdir(dirname(write.destinationPath), { recursive: true });
218
- await writeFile(write.destinationPath, write.artifact.content, "utf-8");
217
+ if (!options.dryRun) {
218
+ for (const staleFile of plannedDeletes) await removePathIfExists(staleFile.destinationPath);
219
+ for (const write of plannedWrites) {
220
+ await mkdir(dirname(write.destinationPath), { recursive: true });
221
+ await writeFile(write.destinationPath, write.artifact.content, "utf-8");
222
+ }
223
+ const persistedManifestPath = getPersistedMaterializationManifestPath(targetRoot);
224
+ const persistedManifest = {
225
+ targetRoot,
226
+ files: [...previousOwnedEntries.filter((file) => !activeOwnershipScopes.has(ownershipScopeKey(file))), ...manifest.files]
227
+ };
228
+ await mkdir(dirname(persistedManifestPath), { recursive: true });
229
+ await writeFile(persistedManifestPath, `${JSON.stringify(persistedManifest, null, 2)}\n`, "utf-8");
219
230
  }
220
- const persistedManifestPath = getPersistedMaterializationManifestPath(targetRoot);
221
- const persistedManifest = {
222
- targetRoot,
223
- files: [...previousOwnedEntries.filter((file) => !activeOwnershipScopes.has(ownershipScopeKey(file))), ...manifest.files]
224
- };
225
- await mkdir(dirname(persistedManifestPath), { recursive: true });
226
- await writeFile(persistedManifestPath, `${JSON.stringify(persistedManifest, null, 2)}\n`, "utf-8");
227
231
  return {
228
232
  targetRoot,
229
233
  files: [...plannedDeletes.map((staleFile) => ({
package/mod.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as contextArtifactOwnership, c as mergeGeneratedArtifacts, d as sliceArtifactOwnership, f as withArtifactOwnership, i as applyOwnershipIfMissing, l as resolveArtifactOwnership, n as GeneratedArtifact, o as createGeneratedArtifact, r as OwnershipScope, s as inferArtifactOwnership, t as ArtifactOwnership, u as sharedArtifactOwnership } from "./artifacts-QqCpfT50.mjs";
1
+ import { a as contextArtifactOwnership, c as mergeGeneratedArtifacts, d as sliceArtifactOwnership, f as userArtifactOwnership, i as applyOwnershipIfMissing, l as resolveArtifactOwnership, n as GeneratedArtifact, o as createGeneratedArtifact, p as withArtifactOwnership, r as OwnershipScope, s as inferArtifactOwnership, t as ArtifactOwnership, u as sharedArtifactOwnership } from "./artifacts-lAG6nq88.mjs";
2
2
  import { MaterializationScope } from "./materialize.mjs";
3
3
  import { CodegenMeta, CommandEffect, CompositionConfig, ComputedFieldSpec, ContextConfig, FilterOperator, InvariantRule, ProjectionRebuildMeta, ProjectionSourceMeta, ProjectionSubscriptionMeta, ReadModelIndexMeta, ReadModelUniqueConstraintMeta } from "@zodmire/config";
4
4
 
@@ -82,9 +82,38 @@ declare function flattenEntities(aggregate: NormalizedAggregateWithChildren): No
82
82
  declare function walkEntityTree(aggregate: NormalizedAggregateWithChildren, visitor: EntityVisitor): void;
83
83
  //#endregion
84
84
  //#region packages/core/schema_pipeline.d.ts
85
+ type FieldTypeDescriptor = {
86
+ kind: "scalar";
87
+ scalar: "string" | "number" | "boolean" | "date" | "bigint";
88
+ } | {
89
+ kind: "enum";
90
+ values?: string[];
91
+ } | {
92
+ kind: "literal";
93
+ value: string | number | boolean | null;
94
+ } | {
95
+ kind: "branded";
96
+ brand: string;
97
+ underlying: "string" | "number";
98
+ } | {
99
+ kind: "object";
100
+ } | {
101
+ kind: "union";
102
+ variants?: FieldTypeDescriptor[];
103
+ } | {
104
+ kind: "record";
105
+ } | {
106
+ kind: "tuple";
107
+ } | {
108
+ kind: "intersection";
109
+ } | {
110
+ kind: "unknown";
111
+ rawType: string;
112
+ };
85
113
  type IntrospectedField = {
86
114
  name: string;
87
115
  type: string;
116
+ typeDescriptor?: FieldTypeDescriptor;
88
117
  optional: boolean;
89
118
  array: boolean;
90
119
  nestedFields?: IntrospectedField[];
@@ -201,6 +230,11 @@ type ApplicationErrorDef = {
201
230
  factoryName: string;
202
231
  aggregateName: string;
203
232
  };
233
+ type NormalizedGenerationCapability = {
234
+ status: "generated" | "runtime-throw" | "disabled";
235
+ reasons: string[];
236
+ };
237
+ type NormalizedModelStrategy = "drizzle" | "mikroorm";
204
238
  type NormalizedAggregate = {
205
239
  name: string;
206
240
  fields: IntrospectedField[];
@@ -224,6 +258,7 @@ type NormalizedCommand = {
224
258
  preconditions: string[];
225
259
  emits: string[];
226
260
  effects: CommandEffect[];
261
+ capability: NormalizedGenerationCapability;
227
262
  };
228
263
  type NormalizedComputedField = {
229
264
  kind: "builtin";
@@ -243,7 +278,7 @@ type NormalizedQueryReadSide = {
243
278
  readModelName: string;
244
279
  searchFields: string[];
245
280
  pagination?: {
246
- style: "offset";
281
+ style: "offset" | "cursor";
247
282
  };
248
283
  filters?: Record<string, FilterOperator[]>;
249
284
  sorting?: {
@@ -264,6 +299,7 @@ type NormalizedFindByIdQuery = {
264
299
  outputSchemaExportName: string;
265
300
  readModelName?: string;
266
301
  readSide: NormalizedQueryReadSide;
302
+ capability: NormalizedGenerationCapability;
267
303
  };
268
304
  type NormalizedListQuery = {
269
305
  queryKind: "list";
@@ -276,7 +312,7 @@ type NormalizedListQuery = {
276
312
  readModelName?: string;
277
313
  readSide: NormalizedQueryReadSide;
278
314
  pagination: {
279
- style: "offset";
315
+ style: "offset" | "cursor";
280
316
  };
281
317
  filters: Record<string, FilterOperator[]>;
282
318
  sorting: {
@@ -287,6 +323,7 @@ type NormalizedListQuery = {
287
323
  };
288
324
  };
289
325
  computedFields: Record<string, NormalizedComputedField>;
326
+ capability: NormalizedGenerationCapability;
290
327
  };
291
328
  type NormalizedQuery = NormalizedFindByIdQuery | NormalizedListQuery;
292
329
  type NormalizedReadModel = {
@@ -320,6 +357,11 @@ type NormalizedProjection = {
320
357
  };
321
358
  subscription?: SchemaReadResult["projections"][number]["subscription"];
322
359
  sources: NormalizedProjectionSource[];
360
+ capabilities: {
361
+ projector: NormalizedGenerationCapability;
362
+ writeModel: NormalizedGenerationCapability;
363
+ rebuild: NormalizedGenerationCapability;
364
+ };
323
365
  };
324
366
  type NormalizedDomainEvent = {
325
367
  name: string;
@@ -349,6 +391,8 @@ type NormalizedSpec = {
349
391
  adapters: ContextConfig["adapters"];
350
392
  presentation: ContextConfig["presentation"];
351
393
  materialization: ContextConfig["materialization"];
394
+ writeModelStrategy: NormalizedModelStrategy;
395
+ readModelStrategy: NormalizedModelStrategy;
352
396
  };
353
397
  type ContextNormalizedSpec = {
354
398
  context: {
@@ -368,6 +412,8 @@ type ContextNormalizedSpec = {
368
412
  acls: ContextConfig["acls"];
369
413
  presentation: ContextConfig["presentation"];
370
414
  materialization: ContextConfig["materialization"];
415
+ writeModelStrategy: NormalizedModelStrategy;
416
+ readModelStrategy: NormalizedModelStrategy;
371
417
  };
372
418
  declare function buildContextNormalizedSpec(schemaResult: SchemaReadResult, config: ContextConfig): ContextNormalizedSpec;
373
419
  declare function buildNormalizedSpec(schemaResult: SchemaReadResult, config: ContextConfig): NormalizedSpec;
@@ -446,6 +492,14 @@ type NormalizedWriteAcl = {
446
492
  symbols: NormalizedAclSymbols;
447
493
  };
448
494
  type NormalizedCompositionAcl = NormalizedReadAcl | NormalizedWriteAcl;
495
+ type InfrastructureArchitecture = "logical-cqrs" | "physical-cqrs";
496
+ type InfrastructurePersistence = "postgres" | "mysql";
497
+ type InfrastructureOrm = "drizzle" | "mikroorm";
498
+ type NormalizedInfrastructureStrategy = {
499
+ architecture: InfrastructureArchitecture;
500
+ persistence: InfrastructurePersistence;
501
+ orm: InfrastructureOrm;
502
+ };
449
503
  type NormalizedCompositionSpec = {
450
504
  name: string;
451
505
  contexts: Array<{
@@ -454,6 +508,7 @@ type NormalizedCompositionSpec = {
454
508
  }>;
455
509
  crossContextEvents: ResolvedCrossContextEvent[];
456
510
  acls: NormalizedCompositionAcl[];
511
+ infrastructure: NormalizedInfrastructureStrategy;
457
512
  materialization: {
458
513
  targetRoot: string;
459
514
  };
@@ -473,7 +528,27 @@ declare function collectOwnedValueObjects(aggregate: NormalizedAggregate, contex
473
528
  declare function sliceContextIntoAggregateViews(contextSpec: ContextNormalizedSpec): AggregateNormalizedSpecView[];
474
529
  //#endregion
475
530
  //#region packages/core/orchestrator.d.ts
476
- declare function generateContextArtifacts(contextSpec: ContextNormalizedSpec): GeneratedArtifact[];
531
+ type GenerationOutputOptions = {
532
+ tests?: boolean;
533
+ include?: string[];
534
+ exclude?: string[];
535
+ };
536
+ type ContextArtifactGenerationOptions = {
537
+ infrastructureStrategy?: NormalizedInfrastructureStrategy;
538
+ targetRegistry?: ContextGeneratorTargetRegistry;
539
+ generation?: GenerationOutputOptions;
540
+ };
541
+ type ContextGeneratorPhase = "per-aggregate" | "per-context";
542
+ type ContextGeneratorTarget = {
543
+ id: string;
544
+ order: number;
545
+ phases: readonly ContextGeneratorPhase[];
546
+ generateAggregate?: (view: AggregateNormalizedSpecView, options: ContextArtifactGenerationOptions) => GeneratedArtifact[];
547
+ generateContext?: (contextSpec: ContextNormalizedSpec, options: ContextArtifactGenerationOptions) => GeneratedArtifact[];
548
+ };
549
+ type ContextGeneratorTargetRegistry = ReadonlyMap<string, ContextGeneratorTarget>;
550
+ declare const DEFAULT_CONTEXT_GENERATOR_TARGET_REGISTRY: ContextGeneratorTargetRegistry;
551
+ declare function generateContextArtifacts(contextSpec: ContextNormalizedSpec, options?: ContextArtifactGenerationOptions): GeneratedArtifact[];
477
552
  //#endregion
478
553
  //#region packages/core/spec_artifact.d.ts
479
554
  declare const SPEC_ARTIFACT_SCHEMA_VERSION = 1;
@@ -633,6 +708,11 @@ declare function runMigration(opts: RunMigrationOptions): Promise<MigrationResul
633
708
  type ContextConfigLike = {
634
709
  schemaFiles?: string[];
635
710
  _codegenSupportPath?: string;
711
+ generation?: {
712
+ tests?: boolean;
713
+ include?: string[];
714
+ exclude?: string[];
715
+ };
636
716
  materialization?: {
637
717
  targetRoot?: string;
638
718
  };
@@ -721,6 +801,8 @@ declare function buildContextNormalizedSpecFromConfig(input: {
721
801
  declare function buildV5ContextArtifacts(input: {
722
802
  contextConfigPath: string;
723
803
  codegenSupportPath: string;
804
+ infrastructureStrategy?: NormalizedInfrastructureStrategy;
805
+ generation?: GenerationOutputOptions;
724
806
  }): Promise<GeneratedArtifact[]>;
725
807
  declare function buildV5Artifacts(input: {
726
808
  contextConfigPath: string;
@@ -729,7 +811,7 @@ declare function buildV5Artifacts(input: {
729
811
  declare function buildCompositionArtifacts(compositionConfigPath: string, contextSpecs: ContextNormalizedSpec[]): Promise<GeneratedArtifact[]>;
730
812
  //#endregion
731
813
  //#region packages/core/generators/lib.d.ts
732
- declare function buildV5LibArtifacts(): GeneratedArtifact[];
814
+ declare function buildV5LibArtifacts(infrastructureStrategy?: NormalizedInfrastructureStrategy): GeneratedArtifact[];
733
815
  //#endregion
734
816
  //#region packages/core/generators/shared_kernel.d.ts
735
817
  declare function buildV5SharedKernelArtifacts(spec?: NormalizedSpec | ContextNormalizedSpec): GeneratedArtifact[];
@@ -748,12 +830,16 @@ declare function buildV5ApplicationArtifacts(spec: NormalizedSpec, options?: App
748
830
  declare function buildV5ApplicationContextArtifacts(contextSpec: ContextNormalizedSpec): GeneratedArtifact[];
749
831
  //#endregion
750
832
  //#region packages/core/generators/infrastructure.d.ts
833
+ type InfrastructureContextGenerationOptions = {
834
+ infrastructureStrategy?: NormalizedInfrastructureStrategy;
835
+ };
751
836
  type InfrastructureArtifactOptions = {
752
837
  /** Skip context-wide artifacts (tables.ts) when generating per-aggregate. */skipContextWideArtifacts?: boolean;
838
+ infrastructureStrategy?: NormalizedInfrastructureStrategy;
753
839
  };
754
840
  declare function buildV5InfrastructureArtifacts(spec: NormalizedSpec, options?: InfrastructureArtifactOptions): GeneratedArtifact[];
755
841
  declare function buildReadModelCompositionArtifacts(contextSpecs: ContextNormalizedSpec[]): GeneratedArtifact[];
756
- declare function buildV5InfrastructureContextArtifacts(contextSpec: ContextNormalizedSpec): GeneratedArtifact[];
842
+ declare function buildV5InfrastructureContextArtifacts(contextSpec: ContextNormalizedSpec, options?: InfrastructureContextGenerationOptions): GeneratedArtifact[];
757
843
  //#endregion
758
844
  //#region packages/core/generators/projections.d.ts
759
845
  declare function buildProjectionArtifacts(contextSpec: ContextNormalizedSpec): GeneratedArtifact[];
@@ -792,7 +878,7 @@ declare function buildCompositionRouterArtifacts(_compositionSpec: NormalizedCom
792
878
  declare function buildCompositionSubscriptionArtifacts(compositionSpec: NormalizedCompositionSpec): GeneratedArtifact[];
793
879
  //#endregion
794
880
  //#region packages/core/generators/composition_outbox.d.ts
795
- declare function buildCompositionOutboxArtifacts(): GeneratedArtifact[];
881
+ declare function buildCompositionOutboxArtifacts(infrastructureStrategy?: NormalizedInfrastructureStrategy): GeneratedArtifact[];
796
882
  //#endregion
797
883
  //#region packages/core/generators/composition_bus.d.ts
798
884
  declare function buildCompositionBusArtifacts(): GeneratedArtifact[];
@@ -809,4 +895,7 @@ type CollisionSafeModulePathNames = {
809
895
  declare function buildCollisionSafeModulePathNames(modulePaths: string[]): Map<string, CollisionSafeModulePathNames>;
810
896
  declare function buildCompositionAclArtifacts(compositionSpec: NormalizedCompositionSpec): GeneratedArtifact[];
811
897
  //#endregion
812
- export { AggregateNormalizedSpecView, ApplicationArtifactOptions, ApplicationErrorDef, ArtifactOwnership, CollisionSafeModulePathNames, ContextConfigLike, ContextNormalizedSpec, DiffBucket, DomainErrorDef, EntityVisitor, GENERATED_READ_SIDE_SCHEMA_LOGICAL_PATH, GeneratedArtifact, InfrastructureArtifactOptions, IntrospectedField, MigrationPlan, MigrationResult, NormalizedAggregate, NormalizedAggregateWithChildren, NormalizedCommand, NormalizedCompositionAcl, NormalizedCompositionSpec, NormalizedComputedField, NormalizedDomainEvent, NormalizedEntity, NormalizedEntityWithChildren, NormalizedFindByIdQuery, NormalizedListQuery, NormalizedProjection, NormalizedProjectionSource, NormalizedQuery, NormalizedQueryReadSide, NormalizedReadAcl, NormalizedReadModel, NormalizedSpec, NormalizedValueObject, NormalizedWriteAcl, OwnershipScope, PreparedVendoredFile, ResolvedContextInputs, ResolvedCrossContextEvent, ResolvedSubscription, RunMigrationOptions, SPEC_ARTIFACT_SCHEMA_VERSION, SPEC_DIFF_SCHEMA_VERSION, SchemaReadResult, SpecDiffArtifact, VENDORED_FILE_MANIFEST, VendoredFileEntry, applyOwnershipIfMissing, buildArtifactPath, buildCollisionSafeModulePathNames, buildCompositionAclArtifacts, buildCompositionArtifacts, buildCompositionBusArtifacts, buildCompositionContainerArtifacts, buildCompositionOutboxArtifacts, buildCompositionRouterArtifacts, buildCompositionSpecDiff, buildCompositionSubscriptionArtifacts, buildCompositionTypeArtifacts, buildConsumerAclArtifacts, buildContextInputChecks, buildContextNormalizedSpec, buildContextNormalizedSpecFromConfig, buildContextSpecDiff, buildDrizzleConfig, buildFileArtifactTags, buildMaterializationManifestTags, buildMigrationResultTags, buildNormalizedCompositionSpec, buildNormalizedSpec, buildNormalizedSpecFromConfig, buildNormalizedSpecTags, buildProjectionArtifacts, buildReadModelCompositionArtifacts, buildSpecDiffTags, buildSummaryTags, buildV5ApplicationArtifacts, buildV5ApplicationContextArtifacts, buildV5Artifacts, buildV5ContextArtifacts, buildV5DomainArtifacts, buildV5InfrastructureArtifacts, buildV5InfrastructureContextArtifacts, buildV5LibArtifacts, buildV5PortArtifacts, buildV5PresentationArtifacts, buildV5RouteArtifacts, buildV5SharedKernelArtifacts, buildV5TestArtifacts, buildVendoredFileTags, camelCase, collectOwnedValueObjects, compositionSpecDiffDataName, contextArtifactOwnership, contextSpecDiffDataName, contractFileName, createGeneratedArtifact, discoverReferencedVos, ensureContextSupportFilesExist, filterPerContextArtifactsForComposition, flattenEntities, generateContextArtifacts, inferArtifactOwnership, inferCodegenSupportPathForContext, inferCodegenSupportPathFromSchemaFile, inferReconcileScopes, introspectObjectShape, introspectSchema, isRegisteredEntity, kebabCase, loadContextConfig, mergeGeneratedArtifacts, mergeSchemaReadResults, normalizeModulePath, parseConnectionString, parseDrizzleKitOutput, pascalCase, prepareAllVendoredFiles, prepareVendoredFile, readSchemaFile, repositoryPortFileName, repositoryPortTypeName, resolveAbsoluteContextInputs, resolveArtifactOwnership, resolveContextInputs, resolveFactoryPath, resolveGeneratedMigrationSchemaPath, resolveMethodContextInputsForCheck, resolveSchemaFilePathsForContext, resolveVoOwner, rewriteImports, runMigration, serializeCompositionSpec, serializeContextSpec, sharedArtifactOwnership, sliceArtifactOwnership, sliceContextIntoAggregateViews, snakeCase, snakeUpperCase, toImportURL, toUpperSnakeCase, unwrapFieldType, validateContextImports, walkEntityTree, withArtifactOwnership, wordsFromName };
898
+ //#region packages/core/generators/composition_dependencies.d.ts
899
+ declare function buildCompositionDependencyManifestArtifacts(compositionSpec: NormalizedCompositionSpec): GeneratedArtifact[];
900
+ //#endregion
901
+ export { AggregateNormalizedSpecView, ApplicationArtifactOptions, ApplicationErrorDef, ArtifactOwnership, CollisionSafeModulePathNames, ContextArtifactGenerationOptions, ContextConfigLike, ContextGeneratorPhase, ContextGeneratorTarget, ContextGeneratorTargetRegistry, ContextNormalizedSpec, DEFAULT_CONTEXT_GENERATOR_TARGET_REGISTRY, DiffBucket, DomainErrorDef, EntityVisitor, FieldTypeDescriptor, GENERATED_READ_SIDE_SCHEMA_LOGICAL_PATH, GeneratedArtifact, GenerationOutputOptions, InfrastructureArchitecture, InfrastructureArtifactOptions, InfrastructureContextGenerationOptions, InfrastructureOrm, InfrastructurePersistence, IntrospectedField, MigrationPlan, MigrationResult, NormalizedAggregate, NormalizedAggregateWithChildren, NormalizedCommand, NormalizedCompositionAcl, NormalizedCompositionSpec, NormalizedComputedField, NormalizedDomainEvent, NormalizedEntity, NormalizedEntityWithChildren, NormalizedFindByIdQuery, NormalizedGenerationCapability, NormalizedInfrastructureStrategy, NormalizedListQuery, NormalizedModelStrategy, NormalizedProjection, NormalizedProjectionSource, NormalizedQuery, NormalizedQueryReadSide, NormalizedReadAcl, NormalizedReadModel, NormalizedSpec, NormalizedValueObject, NormalizedWriteAcl, OwnershipScope, PreparedVendoredFile, ResolvedContextInputs, ResolvedCrossContextEvent, ResolvedSubscription, RunMigrationOptions, SPEC_ARTIFACT_SCHEMA_VERSION, SPEC_DIFF_SCHEMA_VERSION, SchemaReadResult, SpecDiffArtifact, VENDORED_FILE_MANIFEST, VendoredFileEntry, applyOwnershipIfMissing, buildArtifactPath, buildCollisionSafeModulePathNames, buildCompositionAclArtifacts, buildCompositionArtifacts, buildCompositionBusArtifacts, buildCompositionContainerArtifacts, buildCompositionDependencyManifestArtifacts, buildCompositionOutboxArtifacts, buildCompositionRouterArtifacts, buildCompositionSpecDiff, buildCompositionSubscriptionArtifacts, buildCompositionTypeArtifacts, buildConsumerAclArtifacts, buildContextInputChecks, buildContextNormalizedSpec, buildContextNormalizedSpecFromConfig, buildContextSpecDiff, buildDrizzleConfig, buildFileArtifactTags, buildMaterializationManifestTags, buildMigrationResultTags, buildNormalizedCompositionSpec, buildNormalizedSpec, buildNormalizedSpecFromConfig, buildNormalizedSpecTags, buildProjectionArtifacts, buildReadModelCompositionArtifacts, buildSpecDiffTags, buildSummaryTags, buildV5ApplicationArtifacts, buildV5ApplicationContextArtifacts, buildV5Artifacts, buildV5ContextArtifacts, buildV5DomainArtifacts, buildV5InfrastructureArtifacts, buildV5InfrastructureContextArtifacts, buildV5LibArtifacts, buildV5PortArtifacts, buildV5PresentationArtifacts, buildV5RouteArtifacts, buildV5SharedKernelArtifacts, buildV5TestArtifacts, buildVendoredFileTags, camelCase, collectOwnedValueObjects, compositionSpecDiffDataName, contextArtifactOwnership, contextSpecDiffDataName, contractFileName, createGeneratedArtifact, discoverReferencedVos, ensureContextSupportFilesExist, filterPerContextArtifactsForComposition, flattenEntities, generateContextArtifacts, inferArtifactOwnership, inferCodegenSupportPathForContext, inferCodegenSupportPathFromSchemaFile, inferReconcileScopes, introspectObjectShape, introspectSchema, isRegisteredEntity, kebabCase, loadContextConfig, mergeGeneratedArtifacts, mergeSchemaReadResults, normalizeModulePath, parseConnectionString, parseDrizzleKitOutput, pascalCase, prepareAllVendoredFiles, prepareVendoredFile, readSchemaFile, repositoryPortFileName, repositoryPortTypeName, resolveAbsoluteContextInputs, resolveArtifactOwnership, resolveContextInputs, resolveFactoryPath, resolveGeneratedMigrationSchemaPath, resolveMethodContextInputsForCheck, resolveSchemaFilePathsForContext, resolveVoOwner, rewriteImports, runMigration, serializeCompositionSpec, serializeContextSpec, sharedArtifactOwnership, sliceArtifactOwnership, sliceContextIntoAggregateViews, snakeCase, snakeUpperCase, toImportURL, toUpperSnakeCase, unwrapFieldType, userArtifactOwnership, validateContextImports, walkEntityTree, withArtifactOwnership, wordsFromName };