ioc-manifest 1.0.0 → 1.1.0

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.
Files changed (30) hide show
  1. package/README.md +123 -3
  2. package/dist/config/iocConfig.d.ts +5 -0
  3. package/dist/config/iocConfig.d.ts.map +1 -1
  4. package/dist/config/iocConfig.js.map +1 -1
  5. package/dist/config/loadIocConfig.d.ts.map +1 -1
  6. package/dist/config/loadIocConfig.js +35 -0
  7. package/dist/config/loadIocConfig.js.map +1 -1
  8. package/dist/generator/generateManifest.d.ts.map +1 -1
  9. package/dist/generator/generateManifest.js +80 -72
  10. package/dist/generator/generateManifest.js.map +1 -1
  11. package/dist/generator/iocProgramContext.d.ts +14 -1
  12. package/dist/generator/iocProgramContext.d.ts.map +1 -1
  13. package/dist/generator/iocProgramContext.js +41 -16
  14. package/dist/generator/iocProgramContext.js.map +1 -1
  15. package/dist/generator/resolveLifetimeMarkers.d.ts +35 -0
  16. package/dist/generator/resolveLifetimeMarkers.d.ts.map +1 -0
  17. package/dist/generator/resolveLifetimeMarkers.js +138 -0
  18. package/dist/generator/resolveLifetimeMarkers.js.map +1 -0
  19. package/dist/generator/resolveRegistrationPlan.d.ts +3 -1
  20. package/dist/generator/resolveRegistrationPlan.d.ts.map +1 -1
  21. package/dist/generator/resolveRegistrationPlan.js +14 -2
  22. package/dist/generator/resolveRegistrationPlan.js.map +1 -1
  23. package/dist/groups/baseTypeAssignability.d.ts +10 -0
  24. package/dist/groups/baseTypeAssignability.d.ts.map +1 -1
  25. package/dist/groups/baseTypeAssignability.js +14 -0
  26. package/dist/groups/baseTypeAssignability.js.map +1 -1
  27. package/dist/inspection/runDiscoveryAnalysis.d.ts.map +1 -1
  28. package/dist/inspection/runDiscoveryAnalysis.js +21 -10
  29. package/dist/inspection/runDiscoveryAnalysis.js.map +1 -1
  30. package/package.json +1 -1
package/README.md CHANGED
@@ -97,7 +97,17 @@ export const buildUserService = ({
97
97
  });
98
98
  ```
99
99
 
100
- The named deps type pattern is required factories cannot destructure directly from `IocGeneratedCradle`. There's a real reason for this: the cradle is generated _from_ what your factories declare. Asking a factory to declare its inputs by referencing the cradle would be a chicken-and-egg loop. Naming the deps type at the factory site also makes each factory independently testable — see [Testing](#testing) below.
100
+ The named-deps-type pattern is required. Factories cannot destructure directly from `IocGeneratedCradle`, and inline object literals (`({ foo, bar }: { foo: Foo; bar: Bar })`) aren't allowed either codegen will reject both. The rule is: the first parameter must be a named `interface` or `type` alias.
101
+
102
+ Three reasons:
103
+
104
+ 1. **The cradle is generated from your factories' declarations.** A factory declaring its inputs by referencing the cradle would be a chicken-and-egg loop — the cradle doesn't exist yet at the moment codegen reads the factory.
105
+
106
+ 2. **The deps type is the factory's testable contract.** Exporting `type UserServiceDeps = { ... }` means tests can `import type { UserServiceDeps }`, build a literal satisfying it, and call the factory directly with no container at all (see [Testing](#testing) below). Inline literals aren't importable — tests would have to reconstruct the same shape by hand in every file, and that drifts.
107
+
108
+ 3. **The deps type is documentation.** When someone opens the file, the named declaration sits at the top and says exactly what the factory consumes. Inline literals bury the contract inside the function signature, where it competes for attention with parameter names and the return type.
109
+
110
+ The cost is one extra line per factory. That's the deal.
101
111
 
102
112
  ### 2. Configure
103
113
 
@@ -332,6 +342,28 @@ Under each contract name, keys are implementation names from discovery (`buildFo
332
342
  | ----------------- | ----------------------------------------------------------------------------------------------- |
333
343
  | `accessKey` | Overrides the cradle property name for the default slot (e.g. `"database"` instead of `"knex"`) |
334
344
 
345
+ ### `lifetimeMarkers`
346
+
347
+ Declare marker interfaces that map to Awilix lifetimes. Any factory whose return type is assignable to a marker inherits that lifetime automatically.
348
+
349
+ ```ts
350
+ lifetimeMarkers: {
351
+ IScoped: "scoped",
352
+ ITransient: "transient",
353
+ },
354
+ ```
355
+
356
+ Keys are interface or type-alias names visible in the package's TypeScript program at codegen. Values are `singleton`, `scoped`, or `transient`. An empty object `{}` skips marker analysis.
357
+
358
+ > ⚠️ Markers must be **branded interfaces** with at least one distinguishing property. An empty marker (`interface IScoped {}`) is structurally assignable from every object type and will tag every factory in the package. See [Lifetime markers](#lifetime-markers) for the branded pattern.
359
+
360
+ **Lifetime precedence** (highest first):
361
+
362
+ 1. `registrations[Contract][implementation].lifetime`
363
+ 2. Lifetime marker on return type (`lifetimeMarkers`)
364
+ 3. `discovery.scanDirs[].scope` (folder-scoped default)
365
+ 4. Default: `singleton`
366
+
335
367
  ### App-mode fields
336
368
 
337
369
  These only apply in app mode (a package that composes manifests from other packages):
@@ -665,9 +697,95 @@ Missing dependencies, cyclic references, lifetime violations, and factory except
665
697
 
666
698
  The basics — factory discovery, typed cradle, automatic collections — cover most applications. The features below are things you can reach for when your app grows or your architecture demands more structure.
667
699
 
700
+ ### Lifetime markers
701
+
702
+ When services are organized by domain (`src/users/`, `src/orders/`) rather than by lifetime category, folder-scoped lifetimes fit poorly. **Lifetime markers** express cross-cutting lifetime policy via marker interfaces — the same assignability machinery groups use.
703
+
704
+ #### Defining a marker
705
+
706
+ A marker is an interface with at least one distinguishing property. **An empty interface (`interface IScoped {}`) will not work** — it's structurally assignable from any object type, so it would tag every factory in the package with the marker's lifetime. Brand the marker explicitly:
707
+
708
+ ```ts
709
+ // shared types
710
+ export interface IScoped {
711
+ readonly __iocLifetimeScoped: true;
712
+ }
713
+
714
+ export interface ITransient {
715
+ readonly __iocLifetimeTransient: true;
716
+ }
717
+ ```
718
+
719
+ The branding property is a compile-time tag. It never appears at runtime — your implementations satisfy it via the type system without setting the field on the actual object.
720
+
721
+ #### Declaring markers
722
+
723
+ Map marker types to lifetimes in `ioc.config`:
724
+
725
+ ```ts
726
+ lifetimeMarkers: {
727
+ IScoped: "scoped",
728
+ ITransient: "transient",
729
+ },
730
+ ```
731
+
732
+ Keys are interface or type-alias names visible in the package's TypeScript program at codegen. Values are `singleton`, `scoped`, or `transient`. An empty object `{}` skips marker analysis.
733
+
734
+ #### Attaching markers to factories
735
+
736
+ Three attachment points, in order of locality. The pattern that fits your code best is usually the right one.
737
+
738
+ **Directly on the implementation type:**
739
+
740
+ ```ts
741
+ export interface RequestTracingLogger extends LoggingService, IScoped {
742
+ readonly __iocLifetimeScoped: true;
743
+ }
744
+ ```
745
+
746
+ **On a shared contract** (every implementation of `LoggingService` becomes scoped):
747
+
748
+ ```ts
749
+ export interface LoggingService extends IScoped {
750
+ readonly __iocLifetimeScoped: true;
751
+ log: (msg: string) => void;
752
+ }
753
+ ```
754
+
755
+ **On a group base type** — the cleanest pattern when implementations are already collected as a group. Every implementation in the group inherits the lifetime automatically:
756
+
757
+ ```ts
758
+ export interface DiscountStrategy extends IScoped {
759
+ readonly __iocLifetimeScoped: true;
760
+ applies: (order: Order) => boolean;
761
+ calculate: (order: Order) => number;
762
+ }
763
+ ```
764
+
765
+ Transitive inheritance does the rest. You attach the marker once on the right level of abstraction; codegen finds it on every implementation downstream.
766
+
767
+ #### Precedence
768
+
769
+ For any factory, the lifetime resolves in this order (highest first):
770
+
771
+ 1. `registrations[Contract][impl].lifetime` — explicit per-impl override
772
+ 2. Lifetime marker on the return type
773
+ 3. `discovery.scanDirs[].scope` — folder-scoped default
774
+ 4. Default: `singleton`
775
+
776
+ #### Multiple markers is a hard error
777
+
778
+ If a return type matches two markers, codegen errors and names both. Silent first-wins would create the worst kind of bug — a service's lifetime quietly differs from what the developer intended. Resolve by removing one marker from the inheritance chain or setting the lifetime explicitly via `registrations`.
779
+
780
+ #### Cross-package behavior
781
+
782
+ Marker types must be declared in source files visible to the package's TypeScript program at codegen — typically the same package's `src/`. Library packages bake their resolved lifetimes into their manifest at _their_ codegen time; composing apps do not re-run marker resolution on library factories. A library's choice of marker is invisible to consumers; what they see is the resolved lifetime in the registration.
783
+
668
784
  ### Folder-scoped lifetimes
669
785
 
670
- If you find yourself setting `lifetime: "scoped"` on dozens of individual services and repositories, you probably want folder-scoped lifetimes instead. Rather than annotating each factory, you tell the generator that everything under a directory defaults to a specific lifetime:
786
+ Folder-scoped lifetimes are a **legacy pattern** for codebases where directory layout mirrors lifetime boundaries. For domain-organized code, prefer [lifetime markers](#lifetime-markers) instead.
787
+
788
+ If implementations are co-located by lifetime category, you can default lifetimes by scan root:
671
789
 
672
790
  ```ts
673
791
  discovery: {
@@ -682,7 +800,7 @@ discovery: {
682
800
 
683
801
  This came out of a real pattern: in a GraphQL API, services and repositories are scoped to the request, infrastructure clients (database pools, caches) are singletons, and HTTP handlers are transient. Instead of repeating that in `registrations` for every single factory, you express it structurally — the directory _is_ the policy.
684
802
 
685
- Per-implementation overrides in `registrations` always take precedence, so you can still make exceptions when needed.
803
+ Per-implementation overrides in `registrations` and lifetime markers take precedence over folder scope.
686
804
 
687
805
  ### Groups
688
806
 
@@ -818,6 +936,8 @@ Either way, factory source code doesn't change.
818
936
 
819
937
  **Library-mode invocation of `ioc validate`** — prints an informational message and exits 0. Validate is a cross-manifest tool; a library has no cross-manifest concerns to validate.
820
938
 
939
+ **Every factory in the package got the same lifetime** — your marker interface is empty (`interface IScoped {}`), so it matches every object type. Add a distinguishing property like `readonly __iocLifetimeScoped: true` to the marker. See [Lifetime markers](#lifetime-markers).
940
+
821
941
  ---
822
942
 
823
943
  ## Design philosophy
@@ -84,6 +84,11 @@ export type IocConfig = {
84
84
  * when diamond-dependency hoisting produces mismatched ids (§14.4.1).
85
85
  */
86
86
  groupBaseTypeAliases?: Record<string, string[]>;
87
+ /**
88
+ * Maps interface or type-alias names to lifetimes. A factory whose return type is assignable to
89
+ * a marker name inherits that marker's lifetime (see lifetime precedence in docs).
90
+ */
91
+ lifetimeMarkers?: Record<string, IocLifetime>;
87
92
  };
88
93
  export declare const defineIocConfig: (config: IocConfig) => IocConfig;
89
94
  //# sourceMappingURL=iocConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iocConfig.d.ts","sourceRoot":"","sources":["../../src/config/iocConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE/D,4GAA4G;AAC5G,eAAO,MAAM,uBAAuB,EAAG,WAAoB,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,MAAM,EACN,WAAW,GAAG,mBAAmB,CAClC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,OAAO,OAAO,EACd,cAAc,MAAM,KACnB,mBA8BF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,aAAa,2BAA2B,GAAG,SAAS,EACpD,eAAe,MAAM,KACpB,mBAYF,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,GACtC,OAAO,WAAW,GAAG,mBAAmB,KACvC,KAAK,IAAI,WAWX,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,aAAa,2BAA2B,GAAG,SAAS,EACpD,oBAAoB,MAAM,KACzB,WAAW,GAAG,SAYhB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;AAExE,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE;QACT,QAAQ,EAAE,oBAAoB,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,6FAA6F;QAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC5D;;;OAGG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,KAAG,SAAmB,CAAC"}
1
+ {"version":3,"file":"iocConfig.d.ts","sourceRoot":"","sources":["../../src/config/iocConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE/D,4GAA4G;AAC5G,eAAO,MAAM,uBAAuB,EAAG,WAAoB,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,uFAAuF;IACvF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,MAAM,EACN,WAAW,GAAG,mBAAmB,CAClC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,OAAO,OAAO,EACd,cAAc,MAAM,KACnB,mBA8BF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,aAAa,2BAA2B,GAAG,SAAS,EACpD,eAAe,MAAM,KACpB,mBAYF,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,GACtC,OAAO,WAAW,GAAG,mBAAmB,KACvC,KAAK,IAAI,WAWX,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,aAAa,2BAA2B,GAAG,SAAS,EACpD,oBAAoB,MAAM,KACzB,WAAW,GAAG,SAYhB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;AAExE,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE;QACT,QAAQ,EAAE,oBAAoB,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,6FAA6F;QAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAC5D;;;OAGG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,KAAG,SAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"iocConfig.js","sourceRoot":"","sources":["../../src/config/iocConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iocConfig.js","sourceRoot":"","sources":["../../src/config/iocConfig.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loadIocConfig.d.ts","sourceRoot":"","sources":["../../src/config/loadIocConfig.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAmfxB,eAAO,MAAM,aAAa,GACxB,oBAAoB,MAAM,KACzB,OAAO,CAAC,SAAS,CAKnB,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,GAC9C,oBAAoB,MAAM,KACzB,MAKF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,gBAAgB,MAAM,EACtB,eAAe,MAAM,KACpB,MAwDF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,oBAAoB,MAAM,KACzB,OAAO,CAAC,SAAS,GAAG,SAAS,CAQ/B,CAAC"}
1
+ {"version":3,"file":"loadIocConfig.d.ts","sourceRoot":"","sources":["../../src/config/loadIocConfig.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAsiBxB,eAAO,MAAM,aAAa,GACxB,oBAAoB,MAAM,KACzB,OAAO,CAAC,SAAS,CAKnB,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,GAC9C,oBAAoB,MAAM,KACzB,MAKF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAC/B,gBAAgB,MAAM,EACtB,eAAe,MAAM,KACpB,MAwDF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,oBAAoB,MAAM,KACzB,OAAO,CAAC,SAAS,GAAG,SAAS,CAQ/B,CAAC"}
@@ -20,6 +20,7 @@ const TOP_LEVEL_KEYS = new Set([
20
20
  "registrations",
21
21
  "groups",
22
22
  "groupBaseTypeAliases",
23
+ "lifetimeMarkers",
23
24
  ]);
24
25
  const DISCOVERY_KEYS = new Set([
25
26
  "scanDirs",
@@ -65,6 +66,37 @@ const validateGroupBaseTypeAliasesShape = (value, pathLabel) => {
65
66
  }
66
67
  }
67
68
  };
69
+ const BUILTIN_TYPE_NAMES = new Set([
70
+ "string",
71
+ "number",
72
+ "boolean",
73
+ "symbol",
74
+ "bigint",
75
+ "undefined",
76
+ "null",
77
+ "object",
78
+ "never",
79
+ "unknown",
80
+ "any",
81
+ "void",
82
+ ]);
83
+ const validateLifetimeMarkersShape = (value, pathLabel) => {
84
+ if (!isRecord(value)) {
85
+ throw new Error(`[ioc-config] ${pathLabel} must be an object when set`);
86
+ }
87
+ for (const [markerName, lifetime] of Object.entries(value)) {
88
+ const entryPath = `${pathLabel}.${JSON.stringify(markerName)}`;
89
+ if (typeof markerName !== "string" || markerName.length === 0) {
90
+ throw new Error(`[ioc-config] ${pathLabel} keys must be non-empty strings`);
91
+ }
92
+ if (BUILTIN_TYPE_NAMES.has(markerName)) {
93
+ console.warn(`[ioc-config] warning: ${entryPath} uses a built-in type name ${JSON.stringify(markerName)}; prefer a dedicated marker interface`);
94
+ }
95
+ if (!isIocLifetime(lifetime)) {
96
+ throw new Error(`[ioc-config] ${entryPath} must be singleton | scoped | transient`);
97
+ }
98
+ }
99
+ };
68
100
  const validateGroupsShape = (value, pathLabel) => {
69
101
  if (!isRecord(value)) {
70
102
  throw new Error(`[ioc-config] ${pathLabel} must be an object`);
@@ -276,6 +308,9 @@ const validateIocConfig = async (raw, sourceLabel) => {
276
308
  }
277
309
  validateGroupBaseTypeAliasesShape(raw.groupBaseTypeAliases, `${sourceLabel} groupBaseTypeAliases`);
278
310
  }
311
+ if (raw.lifetimeMarkers !== undefined) {
312
+ validateLifetimeMarkersShape(raw.lifetimeMarkers, `${sourceLabel} lifetimeMarkers`);
313
+ }
279
314
  const config = raw;
280
315
  if (composedManifests !== undefined && composedManifests.length > 0) {
281
316
  const projectRoot = resolveProjectRootFromIocConfigPath(sourceLabel);
@@ -1 +1 @@
1
- {"version":3,"file":"loadIocConfig.js","sourceRoot":"","sources":["../../src/config/loadIocConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadIocConfig.js","sourceRoot":"","sources":["../../src/config/loadIocConfig.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateManifest.d.ts","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"AAoBA,OAAO,EAEL,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAyD/D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,YAAY,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,GAAG;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KACA,OAAO,CAAC,IAAI,CAuKd,CAAC"}
1
+ {"version":3,"file":"generateManifest.d.ts","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"AAoBA,OAAO,EAEL,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AA8D/D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,YAAY,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,GAAG;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KACA,OAAO,CAAC,IAAI,CAsLd,CAAC"}
@@ -9,17 +9,18 @@ import { createRequire } from "node:module";
9
9
  import path from "node:path";
10
10
  import { tryLoadIocConfig, resolveIocConfigPath, resolveProjectRootFromIocConfigPath, } from "../config/loadIocConfig.js";
11
11
  import { discoverFactories } from "./discoverFactories/discoverFactories.js";
12
- import { createIocProgramForDiscovery, getDiscoveryTargetFiles, reportDiscoveryProgramDiagnostics, } from "./iocProgramContext.js";
12
+ import { createIocProgramForDiscovery, getDiscoveryTargetFiles, logDiscoveryProgramErrorDiagnosticsForFailure, } from "./iocProgramContext.js";
13
13
  import { mergeManifestOptionsWithIocConfig, resolveManifestOptions, } from "./manifestOptions.js";
14
14
  import { analyzeDemandSupply } from "./analyzeDemandSupply/index.js";
15
15
  import { buildRegistrationPlan } from "./resolveRegistrationPlan.js";
16
16
  import { buildManifestArtifactSources, writeGeneratedFilesAtomically, } from "./writeManifest.js";
17
17
  import { buildGroupPlan } from "../groups/resolveGroupPlan.js";
18
- import { isAppMode, isLibraryMode, resolveManifestExportPath } from "../config/iocMode.js";
18
+ import { isAppMode, isLibraryMode, resolveManifestExportPath, } from "../config/iocMode.js";
19
19
  import { loadComposedManifestContractNames } from "./loadComposedManifestContracts.js";
20
20
  import { validateGroupBaseTypeAliasKeysAtCodegen } from "./loadComposedManifestGroups.js";
21
21
  import { buildComposedRegistrationOverridesFromConfig } from "./buildComposedRegistrationOverrides.js";
22
22
  import { buildComposedManifestSource, removeComposedManifestIfPresent, resolveComposedPackageSpecs, } from "./writeComposedManifest.js";
23
+ import { resolveLifetimeMarkersForFactories } from "./resolveLifetimeMarkers.js";
23
24
  const require = createRequire(import.meta.url);
24
25
  const packageJson = require("../../package.json");
25
26
  const packageName = typeof packageJson.name === "string" && packageJson.name.length > 0
@@ -80,85 +81,92 @@ export const generateManifest = async (overrides) => {
80
81
  await fs.mkdir(generatedDir, { recursive: true });
81
82
  const files = await getDiscoveryTargetFiles(scanDirs, includePatterns, excludePatterns, generatedDir);
82
83
  const program = createIocProgramForDiscovery(projectRoot, files);
83
- reportDiscoveryProgramDiagnostics(program, projectRoot, files);
84
- const { contractMap, acceptedFactories } = discoverFactories(files, program, projectRoot, factoryExportPrefix, { projectRoot, scanDirs, generatedDir }, config);
85
- const composedContractNames = config !== undefined && isAppMode(config)
86
- ? await loadComposedManifestContractNames(projectRoot, config.composedManifests)
87
- : undefined;
88
- const plans = buildRegistrationPlan(contractMap, config, {
89
- projectRoot,
90
- scanDirs,
91
- composedContractNames,
92
- });
93
- const groupResult = buildGroupPlan(config?.groups, plans, {
94
- program,
95
- generatedDir,
96
- scanDirs,
97
- });
98
- const demandSupply = analyzeDemandSupply(acceptedFactories, {
99
- program,
100
- projectRoot,
101
- scanDirs,
102
- generatedDir,
103
- groupsManifest: groupResult?.manifest,
104
- });
105
- const writeOptions = {
106
- demandSupply,
107
- registryTypesBuildContext: {
84
+ try {
85
+ const { contractMap, acceptedFactories } = discoverFactories(files, program, projectRoot, factoryExportPrefix, { projectRoot, scanDirs, generatedDir }, config);
86
+ const composedContractNames = config !== undefined && isAppMode(config)
87
+ ? await loadComposedManifestContractNames(projectRoot, config.composedManifests)
88
+ : undefined;
89
+ const markerLifetimesByFactoryKey = resolveLifetimeMarkersForFactories(acceptedFactories, config?.lifetimeMarkers, { program, projectRoot, scanDirs });
90
+ const plans = buildRegistrationPlan(contractMap, config, {
91
+ projectRoot,
92
+ scanDirs,
93
+ composedContractNames,
94
+ markerLifetimesByFactoryKey,
95
+ });
96
+ const groupResult = buildGroupPlan(config?.groups, plans, {
108
97
  program,
109
98
  generatedDir,
110
99
  scanDirs,
111
- },
112
- };
113
- const artifactSources = buildManifestArtifactSources(acceptedFactories, plans, groupResult?.manifest, manifestOutPath, packageName, writeOptions);
114
- const filesToWrite = [
115
- { path: manifestOutPath, contents: artifactSources.mainSource },
116
- { path: artifactSources.typesPath, contents: artifactSources.typesSource },
117
- ];
118
- let composedOutPath;
119
- if (config !== undefined && isAppMode(config)) {
120
- const configPath = resolveIocConfigPath(resolvedProjectRoot, overrides?.iocConfigPath);
121
- await validateGroupBaseTypeAliasKeysAtCodegen(resolvedProjectRoot, config, configPath);
122
- const composedPackages = resolveComposedPackageSpecs(config.composedManifests);
123
- const composedOverrides = buildComposedRegistrationOverridesFromConfig(config);
124
- composedOutPath = path.join(generatedDir, "ioc-composed.ts");
125
- const composedSource = buildComposedManifestSource({
100
+ });
101
+ const demandSupply = analyzeDemandSupply(acceptedFactories, {
102
+ program,
103
+ projectRoot,
104
+ scanDirs,
126
105
  generatedDir,
127
- composedPackages,
128
- overrides: composedOverrides,
106
+ groupsManifest: groupResult?.manifest,
129
107
  });
130
- filesToWrite.push({ path: composedOutPath, contents: composedSource });
131
- }
132
- try {
133
- await writeGeneratedFilesAtomically(filesToWrite);
134
- }
135
- catch (error) {
136
- if (composedOutPath !== undefined) {
137
- await removeComposedManifestIfPresent(generatedDir);
108
+ const writeOptions = {
109
+ demandSupply,
110
+ registryTypesBuildContext: {
111
+ program,
112
+ generatedDir,
113
+ scanDirs,
114
+ },
115
+ };
116
+ const artifactSources = buildManifestArtifactSources(acceptedFactories, plans, groupResult?.manifest, manifestOutPath, packageName, writeOptions);
117
+ const filesToWrite = [
118
+ { path: manifestOutPath, contents: artifactSources.mainSource },
119
+ { path: artifactSources.typesPath, contents: artifactSources.typesSource },
120
+ ];
121
+ let composedOutPath;
122
+ if (config !== undefined && isAppMode(config)) {
123
+ const configPath = resolveIocConfigPath(resolvedProjectRoot, overrides?.iocConfigPath);
124
+ await validateGroupBaseTypeAliasKeysAtCodegen(resolvedProjectRoot, config, configPath);
125
+ const composedPackages = resolveComposedPackageSpecs(config.composedManifests);
126
+ const composedOverrides = buildComposedRegistrationOverridesFromConfig(config);
127
+ composedOutPath = path.join(generatedDir, "ioc-composed.ts");
128
+ const composedSource = buildComposedManifestSource({
129
+ generatedDir,
130
+ composedPackages,
131
+ overrides: composedOverrides,
132
+ });
133
+ filesToWrite.push({ path: composedOutPath, contents: composedSource });
138
134
  }
139
- throw error;
140
- }
141
- if (config === undefined || isLibraryMode(config)) {
142
- await removeComposedManifestIfPresent(generatedDir);
143
- }
144
- formatGeneratedFileWithPrettier(manifestOutPath, projectRoot);
145
- formatGeneratedFileWithPrettier(artifactSources.typesPath, projectRoot);
146
- if (composedOutPath !== undefined) {
147
- formatGeneratedFileWithPrettier(composedOutPath, projectRoot);
148
- }
149
- const relManifest = path.relative(projectRoot, manifestOutPath);
150
- console.log(`Generated ${relManifest} — ${acceptedFactories.length} module factory(ies), ${contractMap.size} contract(s).`);
151
- if (config !== undefined && isLibraryMode(config)) {
152
- console.log(`Manifest export path (configure package.json exports): ${resolveManifestExportPath(config)}`);
153
- }
154
- if (config !== undefined && isAppMode(config)) {
155
- console.log(`App mode: composed ${config.composedManifests.length} package manifest(s)`);
156
- for (const pkg of config.composedManifests) {
157
- console.log(` - ${pkg} → import from '${pkg}/iocManifest'`);
135
+ try {
136
+ await writeGeneratedFilesAtomically(filesToWrite);
137
+ }
138
+ catch (error) {
139
+ if (composedOutPath !== undefined) {
140
+ await removeComposedManifestIfPresent(generatedDir);
141
+ }
142
+ throw error;
158
143
  }
144
+ if (config === undefined || isLibraryMode(config)) {
145
+ await removeComposedManifestIfPresent(generatedDir);
146
+ }
147
+ formatGeneratedFileWithPrettier(manifestOutPath, projectRoot);
148
+ formatGeneratedFileWithPrettier(artifactSources.typesPath, projectRoot);
159
149
  if (composedOutPath !== undefined) {
160
- console.log(`Generated ${path.relative(projectRoot, composedOutPath)}`);
150
+ formatGeneratedFileWithPrettier(composedOutPath, projectRoot);
151
+ }
152
+ const relManifest = path.relative(projectRoot, manifestOutPath);
153
+ console.log(`Generated ${relManifest} — ${acceptedFactories.length} module factory(ies), ${contractMap.size} contract(s).`);
154
+ if (config !== undefined && isLibraryMode(config)) {
155
+ console.log(`Manifest export path (configure package.json exports): ${resolveManifestExportPath(config)}`);
156
+ }
157
+ if (config !== undefined && isAppMode(config)) {
158
+ console.log(`App mode: composed ${config.composedManifests.length} package manifest(s)`);
159
+ for (const pkg of config.composedManifests) {
160
+ console.log(` - ${pkg} → import from '${pkg}/iocManifest'`);
161
+ }
162
+ if (composedOutPath !== undefined) {
163
+ console.log(`Generated ${path.relative(projectRoot, composedOutPath)}`);
164
+ }
161
165
  }
162
166
  }
167
+ catch (error) {
168
+ logDiscoveryProgramErrorDiagnosticsForFailure(program, projectRoot, files, error);
169
+ throw error;
170
+ }
163
171
  };
164
172
  //# sourceMappingURL=generateManifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateManifest.js","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateManifest.js","sourceRoot":"","sources":["../../src/generator/generateManifest.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,18 @@ export declare const getDiscoveryTargetFiles: (scanDirs: ResolvedScanDir[], incl
7
7
  * discovery targets). Compiler options (paths, module resolution) match your project build.
8
8
  */
9
9
  export declare const createIocProgramForDiscovery: (projectRoot: string, rootNames: string[]) => ts.Program;
10
- export declare const reportDiscoveryProgramDiagnostics: (program: ts.Program, projectRoot: string, rootNames: readonly string[]) => void;
10
+ /**
11
+ * Formatted TypeScript errors for discovery target files only (not warnings).
12
+ * Returns an empty string when there are no relevant errors.
13
+ */
14
+ export declare const formatDiscoveryProgramErrorDiagnostics: (program: ts.Program, projectRoot: string, rootNames: readonly string[]) => string;
15
+ /**
16
+ * True when codegen failed in a step where TypeScript program diagnostics are likely
17
+ * the root cause (as opposed to config, duplicate keys, etc.).
18
+ */
19
+ export declare const isCodegenFailureCausedByTypeScript: (error: unknown) => boolean;
20
+ /**
21
+ * Logs discovery-scoped TS errors when `error` is type-check related and diagnostics exist.
22
+ */
23
+ export declare const logDiscoveryProgramErrorDiagnosticsForFailure: (program: ts.Program, projectRoot: string, rootNames: readonly string[], error: unknown) => void;
11
24
  //# sourceMappingURL=iocProgramContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iocProgramContext.d.ts","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAI5B,6FAA6F;AAC7F,eAAO,MAAM,uBAAuB,GAClC,UAAU,eAAe,EAAE,EAC3B,iBAAiB,MAAM,EAAE,EACzB,iBAAiB,MAAM,EAAE,EACzB,cAAc,MAAM,KACnB,OAAO,CAAC,MAAM,EAAE,CAgBlB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,aAAa,MAAM,EACnB,WAAW,MAAM,EAAE,KAClB,EAAE,CAAC,OAoCL,CAAC;AAmBF,eAAO,MAAM,iCAAiC,GAC5C,SAAS,EAAE,CAAC,OAAO,EACnB,aAAa,MAAM,EACnB,WAAW,SAAS,MAAM,EAAE,KAC3B,IAgCF,CAAC"}
1
+ {"version":3,"file":"iocProgramContext.d.ts","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAI5B,6FAA6F;AAC7F,eAAO,MAAM,uBAAuB,GAClC,UAAU,eAAe,EAAE,EAC3B,iBAAiB,MAAM,EAAE,EACzB,iBAAiB,MAAM,EAAE,EACzB,cAAc,MAAM,KACnB,OAAO,CAAC,MAAM,EAAE,CAgBlB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GACvC,aAAa,MAAM,EACnB,WAAW,MAAM,EAAE,KAClB,EAAE,CAAC,OAoCL,CAAC;AAqBF;;;GAGG;AACH,eAAO,MAAM,sCAAsC,GACjD,SAAS,EAAE,CAAC,OAAO,EACnB,aAAa,MAAM,EACnB,WAAW,SAAS,MAAM,EAAE,KAC3B,MAgBF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kCAAkC,GAC7C,OAAO,OAAO,KACb,OAYF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6CAA6C,GACxD,SAAS,EAAE,CAAC,OAAO,EACnB,aAAa,MAAM,EACnB,WAAW,SAAS,MAAM,EAAE,EAC5B,OAAO,OAAO,KACb,IAiBF,CAAC"}
@@ -48,7 +48,24 @@ export const createIocProgramForDiscovery = (projectRoot, rootNames) => {
48
48
  }
49
49
  return ts.createProgram({ rootNames, options: parsed.options });
50
50
  };
51
- const formatDiagnostics = (diagnostics, projectRoot) => {
51
+ const collectDiscoveryProgramErrorDiagnostics = (program, rootNames) => {
52
+ const relevantRootFiles = new Set(rootNames.map((fileName) => normalizePath(fileName)));
53
+ return ts.getPreEmitDiagnostics(program).filter((diagnostic) => {
54
+ if (diagnostic.category !== ts.DiagnosticCategory.Error) {
55
+ return false;
56
+ }
57
+ if (diagnostic.file === undefined) {
58
+ return true;
59
+ }
60
+ return relevantRootFiles.has(normalizePath(diagnostic.file.fileName));
61
+ });
62
+ };
63
+ /**
64
+ * Formatted TypeScript errors for discovery target files only (not warnings).
65
+ * Returns an empty string when there are no relevant errors.
66
+ */
67
+ export const formatDiscoveryProgramErrorDiagnostics = (program, projectRoot, rootNames) => {
68
+ const diagnostics = collectDiscoveryProgramErrorDiagnostics(program, rootNames);
52
69
  if (diagnostics.length === 0) {
53
70
  return "";
54
71
  }
@@ -59,23 +76,31 @@ const formatDiagnostics = (diagnostics, projectRoot) => {
59
76
  };
60
77
  return ts.formatDiagnosticsWithColorAndContext(diagnostics, formatHost);
61
78
  };
62
- export const reportDiscoveryProgramDiagnostics = (program, projectRoot, rootNames) => {
63
- const relevantRootFiles = new Set(rootNames.map((fileName) => normalizePath(fileName)));
64
- const diagnostics = ts.getPreEmitDiagnostics(program).filter((diagnostic) => {
65
- if (diagnostic.file === undefined) {
66
- return true;
67
- }
68
- return relevantRootFiles.has(normalizePath(diagnostic.file.fileName));
69
- });
70
- if (diagnostics.length === 0) {
79
+ /**
80
+ * True when codegen failed in a step where TypeScript program diagnostics are likely
81
+ * the root cause (as opposed to config, duplicate keys, etc.).
82
+ */
83
+ export const isCodegenFailureCausedByTypeScript = (error) => {
84
+ if (!(error instanceof Error)) {
85
+ return false;
86
+ }
87
+ const message = error.message;
88
+ return (message.includes("not in the TypeScript program") ||
89
+ message.includes("cannot type-check") ||
90
+ message.includes("Conflicting types for demanded key") ||
91
+ message.includes("references an unresolvable type in deps"));
92
+ };
93
+ /**
94
+ * Logs discovery-scoped TS errors when `error` is type-check related and diagnostics exist.
95
+ */
96
+ export const logDiscoveryProgramErrorDiagnosticsForFailure = (program, projectRoot, rootNames, error) => {
97
+ if (!isCodegenFailureCausedByTypeScript(error)) {
71
98
  return;
72
99
  }
73
- const errorDiagnostics = diagnostics.filter((diagnostic) => diagnostic.category === ts.DiagnosticCategory.Error);
74
- const warningDiagnostics = diagnostics.filter((diagnostic) => diagnostic.category === ts.DiagnosticCategory.Warning);
75
- console.warn(`[ioc] Continuing despite TypeScript diagnostics: ${errorDiagnostics.length} error(s), ${warningDiagnostics.length} warning(s).`);
76
- const rendered = formatDiagnostics(diagnostics, projectRoot);
77
- if (rendered.length > 0) {
78
- console.warn(rendered);
100
+ const rendered = formatDiscoveryProgramErrorDiagnostics(program, projectRoot, rootNames);
101
+ if (rendered.length === 0) {
102
+ return;
79
103
  }
104
+ console.error(`[ioc] TypeScript errors in discovery target file(s):\n${rendered}`);
80
105
  };
81
106
  //# sourceMappingURL=iocProgramContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iocProgramContext.js","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iocProgramContext.js","sourceRoot":"","sources":["../../src/generator/iocProgramContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import ts from "typescript";
2
+ import type { IocLifetime } from "../config/iocConfig.js";
3
+ import { type ResolvedScanDir } from "./manifestPaths.js";
4
+ import type { DiscoveredFactory } from "./types.js";
5
+ export type ResolvedLifetimeMarker = {
6
+ name: string;
7
+ lifetime: IocLifetime;
8
+ type: ts.Type;
9
+ };
10
+ export type LifetimeMarkerMatch = {
11
+ name: string;
12
+ lifetime: IocLifetime;
13
+ };
14
+ export type LifetimeMarkerResolutionDeps = {
15
+ resolveMarkerType: (markerName: string) => ResolvedLifetimeMarker;
16
+ isAssignableToMarker: (candidateType: ts.Type, marker: ResolvedLifetimeMarker) => boolean;
17
+ };
18
+ export declare const factoryLifetimeMarkerKey: (factory: DiscoveredFactory) => string;
19
+ export declare const resolveLifetimeMarkerTypes: (program: ts.Program, lifetimeMarkers: Record<string, IocLifetime>) => readonly ResolvedLifetimeMarker[];
20
+ export type ResolveLifetimeMarkersForFactoriesOptions = {
21
+ program: ts.Program;
22
+ projectRoot: string;
23
+ scanDirs: readonly ResolvedScanDir[];
24
+ /** Injectable for tests (assignability call counting). */
25
+ deps?: LifetimeMarkerResolutionDeps;
26
+ };
27
+ /**
28
+ * Maps each factory to a marker-resolved lifetime. When `lifetimeMarkers` is empty, returns an
29
+ * empty map immediately — zero assignability checks (perf contract for library-mode packages
30
+ * that omit lifetimeMarkers).
31
+ */
32
+ export declare const resolveLifetimeMarkersForFactories: (factories: readonly DiscoveredFactory[], lifetimeMarkers: Record<string, IocLifetime> | undefined, options: ResolveLifetimeMarkersForFactoriesOptions) => ReadonlyMap<string, IocLifetime>;
33
+ /** Validates marker names resolve in the program (used when markers are non-empty). */
34
+ export declare const assertLifetimeMarkerTypesResolvable: (program: ts.Program, lifetimeMarkers: Record<string, IocLifetime> | undefined) => void;
35
+ //# sourceMappingURL=resolveLifetimeMarkers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveLifetimeMarkers.d.ts","sourceRoot":"","sources":["../../src/generator/resolveLifetimeMarkers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,sBAAsB,CAAC;IAClE,oBAAoB,EAAE,CACpB,aAAa,EAAE,EAAE,CAAC,IAAI,EACtB,MAAM,EAAE,sBAAsB,KAC3B,OAAO,CAAC;CACd,CAAC;AAIF,eAAO,MAAM,wBAAwB,GACnC,SAAS,iBAAiB,KACzB,MAAuD,CAAC;AAgC3D,eAAO,MAAM,0BAA0B,GACrC,SAAS,EAAE,CAAC,OAAO,EACnB,iBAAiB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,KAC3C,SAAS,sBAAsB,EAiBjC,CAAC;AAyEF,MAAM,MAAM,yCAAyC,GAAG;IACtD,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,0DAA0D;IAC1D,IAAI,CAAC,EAAE,4BAA4B,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kCAAkC,GAC7C,WAAW,SAAS,iBAAiB,EAAE,EACvC,iBAAiB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,EACxD,SAAS,yCAAyC,KACjD,WAAW,CAAC,MAAM,EAAE,WAAW,CAqEjC,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,mCAAmC,GAC9C,SAAS,EAAE,CAAC,OAAO,EACnB,iBAAiB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,KACvD,IAQF,CAAC"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * @fileoverview Resolves factory lifetimes from `lifetimeMarkers` config via return-type
3
+ * assignability. Reuses {@link resolveDeclaredBaseType} from groups; TypeScript's checker
4
+ * handles inheritance walking with its own caching — user-facing cost is dominated by factory
5
+ * discovery, not marker checks.
6
+ */
7
+ import path from "node:path";
8
+ import { resolveDeclaredBaseType } from "../groups/baseTypeAssignability.js";
9
+ import { collectFileAnalysisForFactoryDiscovery } from "./discoverFactories/scanFactoryFile.js";
10
+ import { resolveFactorySourceAbsPath, } from "./manifestPaths.js";
11
+ const normalizePath = (p) => path.normalize(p);
12
+ export const factoryLifetimeMarkerKey = (factory) => `${factory.modulePath}:${factory.exportName}`;
13
+ const formatFactoryLocation = (factory, factoryDecl, sourceFile, projectRoot) => {
14
+ const pos = factoryDecl.parameters[0]?.getStart() ?? factoryDecl.getStart();
15
+ const { line } = sourceFile.getLineAndCharacterOfPosition(pos);
16
+ const abs = path.join(projectRoot, factory.modulePath);
17
+ const rel = path.relative(projectRoot, abs).replace(/\\/g, "/");
18
+ return `${rel}:${line + 1}`;
19
+ };
20
+ const formatMultipleLifetimeMarkersError = (factory, location, matches) => {
21
+ const markerLines = matches
22
+ .map((match) => ` - "${match.name}" → ${match.lifetime}`)
23
+ .join("\n");
24
+ return `[ioc] Factory "${factory.exportName}" at ${location} has multiple lifetime markers in its return type:
25
+ ${markerLines}
26
+ Lifetime is ambiguous. Either remove one marker from the type's inheritance chain, or set lifetime explicitly via registrations.<Contract>.<impl>.lifetime in your ioc.config.ts.`;
27
+ };
28
+ export const resolveLifetimeMarkerTypes = (program, lifetimeMarkers) => {
29
+ const checker = program.getTypeChecker();
30
+ const out = [];
31
+ for (const [name, lifetime] of Object.entries(lifetimeMarkers).sort(([a], [b]) => a.localeCompare(b))) {
32
+ const resolved = resolveDeclaredBaseType(program, checker, name);
33
+ if (!resolved.ok) {
34
+ throw new Error(`[ioc-config] lifetimeMarkers.${JSON.stringify(name)}: ${resolved.message}`);
35
+ }
36
+ out.push({ name, lifetime, type: resolved.type });
37
+ }
38
+ return out;
39
+ };
40
+ const defaultMarkerResolutionDeps = (program, markers) => {
41
+ const checker = program.getTypeChecker();
42
+ const markerByName = new Map(markers.map((marker) => [marker.name, marker]));
43
+ return {
44
+ resolveMarkerType: (markerName) => {
45
+ const marker = markerByName.get(markerName);
46
+ if (marker === undefined) {
47
+ throw new Error(`[ioc] internal error: unknown lifetime marker ${JSON.stringify(markerName)}`);
48
+ }
49
+ return marker;
50
+ },
51
+ isAssignableToMarker: (candidateType, marker) => checker.isTypeAssignableTo(candidateType, marker.type),
52
+ };
53
+ };
54
+ const collectMatchingMarkers = (returnType, markers, deps) => {
55
+ const matches = [];
56
+ for (const marker of markers) {
57
+ if (deps.isAssignableToMarker(returnType, marker)) {
58
+ matches.push({ name: marker.name, lifetime: marker.lifetime });
59
+ }
60
+ }
61
+ return matches;
62
+ };
63
+ const getFactoryReturnType = (program, factory, discoveryPaths, sourceFileByPath) => {
64
+ const absPath = normalizePath(resolveFactorySourceAbsPath(factory.modulePath, discoveryPaths.projectRoot, discoveryPaths.scanDirs));
65
+ const sourceFile = sourceFileByPath.get(absPath);
66
+ if (sourceFile === undefined) {
67
+ return undefined;
68
+ }
69
+ const analysis = collectFileAnalysisForFactoryDiscovery(sourceFile);
70
+ const factoryDecl = analysis.factoryDeclByExport.get(factory.exportName);
71
+ if (factoryDecl === undefined) {
72
+ return undefined;
73
+ }
74
+ const checker = program.getTypeChecker();
75
+ const signature = checker.getSignatureFromDeclaration(factoryDecl);
76
+ if (signature === undefined) {
77
+ return undefined;
78
+ }
79
+ return checker.getReturnTypeOfSignature(signature);
80
+ };
81
+ /**
82
+ * Maps each factory to a marker-resolved lifetime. When `lifetimeMarkers` is empty, returns an
83
+ * empty map immediately — zero assignability checks (perf contract for library-mode packages
84
+ * that omit lifetimeMarkers).
85
+ */
86
+ export const resolveLifetimeMarkersForFactories = (factories, lifetimeMarkers, options) => {
87
+ if (lifetimeMarkers === undefined ||
88
+ Object.keys(lifetimeMarkers).length === 0) {
89
+ // Perf contract: skip marker analysis entirely when no markers are declared.
90
+ return new Map();
91
+ }
92
+ const { program, projectRoot, scanDirs, deps: depsOverride } = options;
93
+ const markers = resolveLifetimeMarkerTypes(program, lifetimeMarkers);
94
+ const deps = depsOverride ?? defaultMarkerResolutionDeps(program, markers);
95
+ const sourceFileByPath = new Map();
96
+ for (const sf of program.getSourceFiles()) {
97
+ sourceFileByPath.set(normalizePath(sf.fileName), sf);
98
+ }
99
+ const discoveryPaths = {
100
+ projectRoot,
101
+ scanDirs: [...scanDirs],
102
+ generatedDir: "",
103
+ };
104
+ const out = new Map();
105
+ for (const factory of factories) {
106
+ const returnType = getFactoryReturnType(program, factory, discoveryPaths, sourceFileByPath);
107
+ if (returnType === undefined) {
108
+ continue;
109
+ }
110
+ const matches = collectMatchingMarkers(returnType, markers, deps);
111
+ if (matches.length === 0) {
112
+ continue;
113
+ }
114
+ if (matches.length > 1) {
115
+ const absPath = normalizePath(resolveFactorySourceAbsPath(factory.modulePath, projectRoot, scanDirs));
116
+ const sourceFile = sourceFileByPath.get(absPath);
117
+ const analysis = sourceFile !== undefined
118
+ ? collectFileAnalysisForFactoryDiscovery(sourceFile)
119
+ : undefined;
120
+ const factoryDecl = analysis?.factoryDeclByExport.get(factory.exportName);
121
+ const location = sourceFile !== undefined && factoryDecl !== undefined
122
+ ? formatFactoryLocation(factory, factoryDecl, sourceFile, projectRoot)
123
+ : factory.modulePath;
124
+ throw new Error(formatMultipleLifetimeMarkersError(factory, location, matches));
125
+ }
126
+ out.set(factoryLifetimeMarkerKey(factory), matches[0].lifetime);
127
+ }
128
+ return out;
129
+ };
130
+ /** Validates marker names resolve in the program (used when markers are non-empty). */
131
+ export const assertLifetimeMarkerTypesResolvable = (program, lifetimeMarkers) => {
132
+ if (lifetimeMarkers === undefined ||
133
+ Object.keys(lifetimeMarkers).length === 0) {
134
+ return;
135
+ }
136
+ resolveLifetimeMarkerTypes(program, lifetimeMarkers);
137
+ };
138
+ //# sourceMappingURL=resolveLifetimeMarkers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveLifetimeMarkers.js","sourceRoot":"","sources":["../../src/generator/resolveLifetimeMarkers.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,14 @@ import type { ComposedManifestContractNames } from "./loadComposedManifestContra
9
9
  import { type ResolvedScanDir } from "./manifestPaths.js";
10
10
  import type { DiscoveredFactory } from "./types.js";
11
11
  /** Where resolved registration lifetime came from (inspect/debug only). `discovery-root` = `discovery.scanDirs[].scope`. */
12
- export type IocRegistrationLifetimeSource = "factory-config" | "discovery-root" | "default";
12
+ export type IocRegistrationLifetimeSource = "factory-config" | "lifetime-marker" | "discovery-root" | "default";
13
13
  export type RegistrationPlanLifetimeContext = {
14
14
  projectRoot: string;
15
15
  scanDirs: readonly ResolvedScanDir[];
16
16
  /** Contract names from composed package manifests (app mode). */
17
17
  composedContractNames?: ComposedManifestContractNames;
18
+ /** Marker-resolved lifetimes keyed by `${modulePath}:${exportName}`. */
19
+ markerLifetimesByFactoryKey?: ReadonlyMap<string, IocLifetime>;
18
20
  };
19
21
  export type ResolvedImplementationEntry = {
20
22
  /** Stable implementation id from discovery (factory export / resolver map key). */
@@ -1 +1 @@
1
- {"version":3,"file":"resolveRegistrationPlan.d.ts","sourceRoot":"","sources":["../../src/generator/resolveRegistrationPlan.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAGjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD,4HAA4H;AAC5H,MAAM,MAAM,6BAA6B,GACrC,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,CAAC;AAEd,MAAM,MAAM,+BAA+B,GAAG;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,6BAA6B,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,mFAAmF;IACnF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,WAAW,CAAC;IACtB,mHAAmH;IACnH,cAAc,CAAC,EAAE,6BAA6B,CAAC;IAC/C,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,iGAAiG;IACjG,sBAAsB,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3D,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,2FAA2F;IAC3F,yBAAyB,EAAE,MAAM,CAAC;IAClC,eAAe,EAAE,2BAA2B,EAAE,CAAC;CAChD,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,WAAW,KACpB,OAAO,CAAC,iBAAiB,CAuB3B,CAAC;AAqPF,eAAO,MAAM,4BAA4B,GACvC,QAAQ,SAAS,GAAG,SAAS,EAC7B,oBAAoB,GAAG,CAAC,MAAM,CAAC,EAC/B,wBAAwB,6BAA6B,KACpD,IAqCF,CAAC;AAsPF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,EACxD,SAAS,SAAS,EAClB,kBAAkB,+BAA+B,KAChD,4BAA4B,EA6G9B,CAAC"}
1
+ {"version":3,"file":"resolveRegistrationPlan.d.ts","sourceRoot":"","sources":["../../src/generator/resolveRegistrationPlan.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAGjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD,4HAA4H;AAC5H,MAAM,MAAM,6BAA6B,GACrC,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,SAAS,CAAC;AAEd,MAAM,MAAM,+BAA+B,GAAG;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,6BAA6B,CAAC;IACtD,wEAAwE;IACxE,2BAA2B,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,mFAAmF;IACnF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,WAAW,CAAC;IACtB,mHAAmH;IACnH,cAAc,CAAC,EAAE,6BAA6B,CAAC;IAC/C,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,iGAAiG;IACjG,sBAAsB,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3D,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,2FAA2F;IAC3F,yBAAyB,EAAE,MAAM,CAAC;IAClC,eAAe,EAAE,2BAA2B,EAAE,CAAC;CAChD,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,WAAW,KACpB,OAAO,CAAC,iBAAiB,CAuB3B,CAAC;AAoQF,eAAO,MAAM,4BAA4B,GACvC,QAAQ,SAAS,GAAG,SAAS,EAC7B,oBAAoB,GAAG,CAAC,MAAM,CAAC,EAC/B,wBAAwB,6BAA6B,KACpD,IAqCF,CAAC;AAsPF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,EACxD,SAAS,SAAS,EAClB,kBAAkB,+BAA+B,KAChD,4BAA4B,EA6G9B,CAAC"}
@@ -85,8 +85,9 @@ const resolveLifetime = (factory) => {
85
85
  * Resolve Awilix lifetime for one implementation. Single precedence chain (no duplicate fallbacks):
86
86
  *
87
87
  * 1. `registrations[Contract][implementation].lifetime` → source `factory-config` in inspect output (means **ioc.config**, not factory source)
88
- * 2. Else discovery-root `discovery.scanDirs[].scope` for the factory file → source `discovery-root`
89
- * 3. Else {@link resolveLifetime} (existing behavior: merged factory lifetime or `singleton`) → source `default`
88
+ * 2. Else lifetime marker on return type → source `lifetime-marker`
89
+ * 3. Else discovery-root `discovery.scanDirs[].scope` for the factory file → source `discovery-root`
90
+ * 4. Else {@link resolveLifetime} (existing behavior: merged factory lifetime or `singleton`) → source `default`
90
91
  */
91
92
  const resolvePlanLifetime = (factory, implOverride, lifetimeContext) => {
92
93
  if (implOverride?.lifetime !== undefined) {
@@ -97,6 +98,17 @@ const resolvePlanLifetime = (factory, implOverride, lifetimeContext) => {
97
98
  : {}),
98
99
  };
99
100
  }
101
+ if (lifetimeContext?.markerLifetimesByFactoryKey !== undefined) {
102
+ const markerLifetime = lifetimeContext.markerLifetimesByFactoryKey.get(`${factory.modulePath}:${factory.exportName}`);
103
+ if (markerLifetime !== undefined) {
104
+ return {
105
+ lifetime: markerLifetime,
106
+ ...(lifetimeContext !== undefined
107
+ ? { lifetimeSource: "lifetime-marker" }
108
+ : {}),
109
+ };
110
+ }
111
+ }
100
112
  if (lifetimeContext !== undefined) {
101
113
  const absPath = resolveFactorySourceAbsPath(factory.modulePath, lifetimeContext.projectRoot, lifetimeContext.scanDirs);
102
114
  const fromRootScope = resolveDiscoveryRootDefaultLifetime(absPath, lifetimeContext.scanDirs);
@@ -1 +1 @@
1
- {"version":3,"file":"resolveRegistrationPlan.js","sourceRoot":"","sources":["../../src/generator/resolveRegistrationPlan.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,uBAAuB,EAKvB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,mCAAmC,EACnC,2BAA2B,GAE5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,+BAA+B,EAAE,MAAM,2CAA2C,CAAC;AAE5F,OAAO,EACL,uCAAuC,EACvC,oCAAoC,GACrC,MAAM,aAAa,CAAC;AAwDrB,MAAM,gBAAgB,GAAgB,WAAW,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,QAAqB,EACO,EAAE;IAC9B,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,OAAO,EACf,GAAG,IAAI,EACR,GAAG,QAAQ,CAAC;IACb,MAAM,GAAG,GAA+B,EAAE,GAAG,IAAI,EAAE,CAAC;IAEpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;IAC7B,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,CAAC;SAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1C,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,OAA0B,EAC1B,QAAiC,EACd,EAAE;IACrB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC3D,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,8BAA8B,GAAG,CACrC,WAAoD,EAC3C,EAAE;IACX,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CACrC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,CAClB,GAAG,KAAK,uBAAuB;QAC/B,QAAQ,KAAK,SAAS;QACtB,2BAA2B,CAAC,QAAQ,CAAC;QACrC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;YACjC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CACpC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC7B,OAA0B,EACP,EAAE;IACrB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,SAAuC,EAAU,EAAE,CAC5E,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;KAClB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;KACxE,GAAG,CACF,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,OAAO,CAAC,kBAAkB,MAAM,OAAO,CAAC,UAAU,YAAY,OAAO,CAAC,UAAU,GAAG,CAC1F;KACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhB,MAAM,8BAA8B,GAAG,CACrC,YAAoB,EACpB,gBAAgD,EACxC,EAAE;IACV,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAE5E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,2FAA2F,iBAAiB,CAAC,WAAW,CAAC,6DAA6D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,8DAA8D,CAC/T,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACrD,CAAC,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAClC,kBAAkB;QAClB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC,CACH,CAAC;IAEF,OAAO,+BAA+B,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,OAA0B,EAAe,EAAE;IAClE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,CAC1B,OAA0B,EAC1B,YAAqC,EACrC,eAA4D,EACe,EAAE;IAC7E,IAAI,YAAY,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,GAAG,CAAC,eAAe,KAAK,SAAS;gBAC/B,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAyB,EAAE;gBAC/C,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,2BAA2B,CACzC,OAAO,CAAC,UAAU,EAClB,eAAe,CAAC,WAAW,EAC3B,eAAe,CAAC,QAAQ,CACzB,CAAC;QACF,MAAM,aAAa,GAAG,mCAAmC,CACvD,OAAO,EACP,eAAe,CAAC,QAAQ,CACzB,CAAC;QACF,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO;gBACL,QAAQ,EAAE,aAAa;gBACvB,cAAc,EAAE,gBAAgB;aACjC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC;QAClC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CACxC,YAAoB,EACpB,gBAAgD,EACxC,EAAE;IACV,IAAI,IAAwB,CAAC;IAE7B,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;QAChD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,GAAG,OAAO,CAAC,qBAAqB,CAAC;YACrC,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,mBAAmB,YAAY,gEAAgE,IAAI,SAAS,OAAO,CAAC,qBAAqB,kBAAkB,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,2DAA2D,CAC/Q,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,iDAAiD,YAAY,GAAG,CACjE,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC7B,YAAoB,EACpB,SAAyC,EACzC,MAA6B,EACG,EAAE;IAClC,MAAM,WAAW,GAAG,MAAM,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,iBAAiB,GAAG,8BAA8B,CAAC,WAAW,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IAEjD,KAAK,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3E,MAAM,QAAQ,GAAG,gCAAgC,CAC/C,WAAW,EACX,kBAAkB,CACnB,CAAC;QAEF,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,2BAA2B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,OAAe,EACf,UAA6B,EACT,EAAE;IACtB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;IAChE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,IAAwB,CAAC;IAC7B,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YAChC,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;IAC3D,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CACvD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CACtC,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CACjB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAChB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAChB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CACxB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CACjC,QAAuC,EAC/B,EAAE;IACV,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAC3E,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACjC,EAAE,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzD,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,EAAE,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,MAA6B,EAC7B,kBAA+B,EAC/B,qBAAqD,EAC/C,EAAE;IACR,IAAI,MAAM,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,aAAa,GACjB,qBAAqB,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;QACpD,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;YAChC,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GACb,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5E,QAAQ,CAAC;QACX,MAAM,YAAY,GAChB,qBAAqB,KAAK,SAAS;YACjC,CAAC,CAAC,0BAA0B,CAAC,qBAAqB,CAAC;YACnD,CAAC,CAAC,QAAQ,CAAC;QACf,MAAM,UAAU,GAAG;YACjB,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACjC,GAAG,CAAC,qBAAqB,KAAK,SAAS;gBACrC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC;gBACvC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QACF,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG;YACZ,0DAA0D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG;YACrF,0BAA0B,SAAS,GAAG;YACtC,2CAA2C,YAAY,GAAG;SAC3D,CAAC;QACF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,gCAAgC,GAAG,CACvC,MAA6B,EAC7B,WAAwD,EAClD,EAAE;IACR,IAAI,MAAM,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CACxD,MAAM,CAAC,aAAa,CACrB,EAAE,CAAC;QACF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACjD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACjD,IAAI,OAAO,KAAK,uBAAuB,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uFAAuF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/N,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,yCAAyC,GAAG,CAChD,MAA6B,EACvB,EAAE;IACR,IAAI,MAAM,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CACxD,MAAM,CAAC,aAAa,CACrB,EAAE,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CACtD,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,CAClB,GAAG,KAAK,uBAAuB;YAC/B,QAAQ,KAAK,SAAS;YACtB,2BAA2B,CAAC,QAAQ,CAAC;YACrC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAC5B,CAAC;QAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,qDAAqD,WAAW;iBACvH,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;iBACnC,IAAI,EAAE;iBACN,IAAI,CAAC,IAAI,CAAC,sCAAsC,CACpD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAOF;;;;;;;GAOG;AACH,MAAM,iCAAiC,GAAG,CACxC,gBAA6D,EAC7D,MAA6B,EACvB,EAAE;IACR,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE5C,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,GAAY,EAAQ,EAAE;QACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,kBAAkB,QAAQ,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,kBAAkB,uIAAuI,CAC5T,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACtD,KAAK,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;YACnD,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE;gBACpC,YAAY;gBACZ,kBAAkB;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,KAAK,MAAM,YAAY,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,oCAAoC,CAAC,YAAY,CAAC,CAAC;QACtE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,sBAAsB,CACtD,MAAM,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,EACrC,YAAY,CACb,CAAC;QAEF,mBAAmB,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,IAAI,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzD,KAAK,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,mBAAmB,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,yDAAyD,CACvM,CAAC;QACJ,CAAC;QAED,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,mBAAmB,EAAE,CAAC;QAC5D,KAAK,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAChE,IAAI,WAAW,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YAED,MAAM,aAAa,GACjB,uCAAuC,CAAC,iBAAiB,CAAC,CAAC;YAC7D,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAC1N,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;QACzD,MAAM,yBAAyB,GAAG,8BAA8B,CAC9D,YAAY,EACZ,MAAM,CACP,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAE,CAAC,eAAe,CAAC;QAC1E,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAC/D,MAAM,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,EACrC,YAAY,CACb,CAAC;QACF,MAAM,6BAA6B,GAAG,mBAAmB,KAAK,SAAS,CAAC;QAExE,IAAI,6BAA6B,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC9D,KAAK,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;gBACnD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,+FAA+F,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,CACpS,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAChE,IAAI,iBAAiB,KAAK,YAAY,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,KAAK,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;gBACxD,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,0DAA0D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,iBAAiB,IAAI,kBAAkB,eAAe,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,qEAAqE,CACtX,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACtD,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,uCAAuC,CAAC,YAAY,CAAC,CAAC;QAE5E,KAAK,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAChE,KAAK,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;gBACxD,IAAI,OAAO,CAAC,eAAe,KAAK,aAAa,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,oDAAoD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,iBAAiB,IAAI,kBAAkB,yFAAyF,CACpR,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,CACjC,WAAwD,EACxD,MAA6B,EAC7B,qBAAqD,EACR,EAAE;IAC/C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAElD,4BAA4B,CAC1B,MAAM,EACN,aAAa,EACb,qBAAqB,CACtB,CAAC;IACF,gCAAgC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtD,yCAAyC,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA0C,CAAC;IAE3E,KAAK,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,IAAI,WAAW,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;QACvD,KAAK,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC;YAC5D,SAAS,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,gBAAgB,CAAC,GAAG,CAClB,YAAY,EACZ,sBAAsB,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAE5D,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,WAAwD,EACxD,MAAkB,EAClB,eAAiD,EACjB,EAAE;IAClC,MAAM,gBAAgB,GAAG,0BAA0B,CACjD,WAAW,EACX,MAAM,EACN,eAAe,EAAE,qBAAqB,CACvC,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACnB,CAAC;IAEF,MAAM,GAAG,GAAmC,EAAE,CAAC;IAE/C,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE,CAAC;QAC3C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC;QAE7D,MAAM,yBAAyB,GAAG,8BAA8B,CAC9D,YAAY,EACZ,gBAAgB,CACjB,CAAC;QAEF,MAAM,qBAAqB,GAAG,iCAAiC,CAC7D,YAAY,EACZ,gBAAgB,CACjB,CAAC;QAEF,MAAM,WAAW,GAAG,oCAAoC,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,sBAAsB,CAC7D,MAAM,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,EACrC,YAAY,CACb,CAAC;QACF,MAAM,SAAS,GAAG,iBAAiB,IAAI,WAAW,CAAC;QACnD,MAAM,aAAa,GACjB,gBAAgB,CAAC,IAAI,GAAG,CAAC;YACvB,CAAC,CAAC,uCAAuC,CAAC,YAAY,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAClE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAC7B,CAAC;QAEF,MAAM,6BAA6B,GACjC,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,WAAW,CAAC;QAEvE,MAAM,eAAe,GACnB,mBAAmB,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAE,CAAC;YAC1D,MAAM,YAAY,GAAG,gCAAgC,CACnD,MAAM,EAAE,aAAa,EAAE,CAAC,YAAY,CAAC,EACrC,kBAAkB,CACnB,CAAC;YAEF,MAAM,sBAAsB,GAA6B,EAAE,CAAC;YAE5D,IAAI,YAAY,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,YAAY,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,YAAY,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;YACD,IACE,6BAA6B;gBAC7B,kBAAkB,KAAK,yBAAyB,EAChD,CAAC;gBACD,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,mBAAmB,CACtD,OAAO,EACP,YAAY,EACZ,eAAe,CAChB,CAAC;YAEF,OAAO;gBACL,kBAAkB;gBAClB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,QAAQ;gBACR,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS;oBACpC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE;oBACxC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC;oBACnC,CAAC,CAAC,EAAE,sBAAsB,EAAE;oBAC5B,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,OAAO,CAAC,uBAAuB,KAAK,SAAS;oBACjD,OAAO,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC;oBACxC,CAAC,CAAC,EAAE,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,EAAE;oBAC9D,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,GAAG,CAAC,IAAI,CAAC;YACP,YAAY;YACZ,qBAAqB;YACrB,WAAW;YACX,SAAS;YACT,aAAa;YACb,yBAAyB;YACzB,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"resolveRegistrationPlan.js","sourceRoot":"","sources":["../../src/generator/resolveRegistrationPlan.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,16 @@ export declare const getContractDeclaredType: (checker: ts.TypeChecker, program:
24
24
  * Multiple declarations in different files are rejected as ambiguous.
25
25
  */
26
26
  export declare const resolveDeclaredBaseType: (program: ts.Program, checker: ts.TypeChecker, typeName: string) => BaseTypeResolution;
27
+ /**
28
+ * Whether `candidateType` is structurally assignable to a top-level type named `baseTypeName`
29
+ * in the program (excluding node_modules). Used by lifetime marker resolution and groups.
30
+ */
31
+ export declare const isTypeAssignableToNamedBase: (checker: ts.TypeChecker, program: ts.Program, candidateType: ts.Type, baseTypeName: string) => {
32
+ ok: true;
33
+ } | {
34
+ ok: false;
35
+ message: string;
36
+ };
27
37
  /**
28
38
  * Whether an implementation should appear in a **collection** group.
29
39
  *
@@ -1 +1 @@
1
- {"version":3,"file":"baseTypeAssignability.d.ts","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EACV,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;CAAE,GAC3B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,4FAA4F;AAC5F,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAqBF,eAAO,MAAM,uBAAuB,GAClC,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,MAAM,4BAA4B,KACjC,EAAE,CAAC,IAAI,GAAG,SAwBZ,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,EAAE,CAAC,OAAO,EACnB,SAAS,EAAE,CAAC,WAAW,EACvB,UAAU,MAAM,KACf,kBAsCF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,GAC7C,MAAM,4BAA4B,EAClC,MAAM,2BAA2B,KAChC,OAEyD,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,4CAA4C,GACvD,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,OAAO,SAAS,4BAA4B,EAAE,EAC9C,UAAU,EAAE,CAAC,IAAI,EACjB,aAAa,CACX,IAAI,EAAE,4BAA4B,EAClC,IAAI,EAAE,2BAA2B,KAC9B,OAAO,KACX,8BAA8B,EA4BhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6CAA6C,GACxD,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,OAAO,SAAS,4BAA4B,EAAE,EAC9C,UAAU,EAAE,CAAC,IAAI,KAChB,0BAA0B,EAgC5B,CAAC"}
1
+ {"version":3,"file":"baseTypeAssignability.d.ts","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EACV,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;CAAE,GAC3B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,4FAA4F;AAC5F,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAqBF,eAAO,MAAM,uBAAuB,GAClC,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,MAAM,4BAA4B,KACjC,EAAE,CAAC,IAAI,GAAG,SAwBZ,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,EAAE,CAAC,OAAO,EACnB,SAAS,EAAE,CAAC,WAAW,EACvB,UAAU,MAAM,KACf,kBAsCF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,eAAe,EAAE,CAAC,IAAI,EACtB,cAAc,MAAM,KACnB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAS7C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,GAC7C,MAAM,4BAA4B,EAClC,MAAM,2BAA2B,KAChC,OAEyD,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,4CAA4C,GACvD,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,OAAO,SAAS,4BAA4B,EAAE,EAC9C,UAAU,EAAE,CAAC,IAAI,EACjB,aAAa,CACX,IAAI,EAAE,4BAA4B,EAClC,IAAI,EAAE,2BAA2B,KAC9B,OAAO,KACX,8BAA8B,EA4BhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,6CAA6C,GACxD,SAAS,EAAE,CAAC,WAAW,EACvB,SAAS,EAAE,CAAC,OAAO,EACnB,cAAc,MAAM,EACpB,UAAU,SAAS,eAAe,EAAE,EACpC,OAAO,SAAS,4BAA4B,EAAE,EAC9C,UAAU,EAAE,CAAC,IAAI,KAChB,0BAA0B,EAgC5B,CAAC"}
@@ -76,6 +76,20 @@ export const resolveDeclaredBaseType = (program, checker, typeName) => {
76
76
  }
77
77
  return { ok: true, type: loneType };
78
78
  };
79
+ /**
80
+ * Whether `candidateType` is structurally assignable to a top-level type named `baseTypeName`
81
+ * in the program (excluding node_modules). Used by lifetime marker resolution and groups.
82
+ */
83
+ export const isTypeAssignableToNamedBase = (checker, program, candidateType, baseTypeName) => {
84
+ const resolved = resolveDeclaredBaseType(program, checker, baseTypeName);
85
+ if (!resolved.ok) {
86
+ return resolved;
87
+ }
88
+ if (!checker.isTypeAssignableTo(candidateType, resolved.type)) {
89
+ return { ok: false, message: "not assignable" };
90
+ }
91
+ return { ok: true };
92
+ };
79
93
  /**
80
94
  * Whether an implementation should appear in a **collection** group.
81
95
  *
@@ -1 +1 @@
1
- {"version":3,"file":"baseTypeAssignability.js","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseTypeAssignability.js","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runDiscoveryAnalysis.d.ts","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAY/D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAEzG,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzD,uFAAuF;IACvF,QAAQ,CAAC,gBAAgB,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAU,OAAO;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wGAAwG;IACxG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACvC,KAAG,OAAO,CAAC,2BAA2B,CAmBtC,CAAC;AA8CF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAU,OAAO;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,2FAA2F;IAC3F,eAAe,CAAC,EAAE,2BAA2B,CAAC;CAC/C,KAAG,OAAO,CAAC,uBAAuB,CAIlC,CAAC"}
1
+ {"version":3,"file":"runDiscoveryAnalysis.d.ts","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAY/D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AAGzG,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzD,uFAAuF;IACvF,QAAQ,CAAC,gBAAgB,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACpE,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAU,OAAO;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wGAAwG;IACxG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACvC,KAAG,OAAO,CAAC,2BAA2B,CAmBtC,CAAC;AA8DF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAU,OAAO;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,2FAA2F;IAC3F,eAAe,CAAC,EAAE,2BAA2B,CAAC;CAC/C,KAAG,OAAO,CAAC,uBAAuB,CAIlC,CAAC"}
@@ -2,8 +2,9 @@ import path from "node:path";
2
2
  import { buildRegistrationPlan } from "../generator/resolveRegistrationPlan.js";
3
3
  import { resolveIocConfigPath, resolveProjectRootFromIocConfigPath, tryLoadIocConfig, } from "../config/loadIocConfig.js";
4
4
  import { discoverFactories } from "../generator/discoverFactories/discoverFactories.js";
5
- import { createIocProgramForDiscovery, getDiscoveryTargetFiles, reportDiscoveryProgramDiagnostics, } from "../generator/iocProgramContext.js";
5
+ import { createIocProgramForDiscovery, getDiscoveryTargetFiles, logDiscoveryProgramErrorDiagnosticsForFailure, } from "../generator/iocProgramContext.js";
6
6
  import { mergeManifestOptionsWithIocConfig, resolveManifestOptions, } from "../generator/manifestOptions.js";
7
+ import { resolveLifetimeMarkersForFactories } from "../generator/resolveLifetimeMarkers.js";
7
8
  export const resolveDiscoveryManifestContext = async (opts) => {
8
9
  const searchStart = path.resolve(opts?.searchStartDir ?? opts?.paths?.projectRoot ?? process.cwd());
9
10
  const cfgPath = resolveIocConfigPath(searchStart, opts?.iocConfigPath);
@@ -27,15 +28,25 @@ const runDiscoveryFromResolution = async (resolved) => {
27
28
  const { paths: { projectRoot, scanDirs, generatedDir }, includePatterns, excludePatterns, factoryExportPrefix, } = options;
28
29
  const files = await getDiscoveryTargetFiles(scanDirs, includePatterns, excludePatterns, generatedDir);
29
30
  const program = createIocProgramForDiscovery(projectRoot, files);
30
- reportDiscoveryProgramDiagnostics(program, projectRoot, files);
31
- const { contractMap, acceptedFactories, discoveryFiles } = discoverFactories(files, program, projectRoot, factoryExportPrefix, { projectRoot, scanDirs, generatedDir }, config ?? undefined, { collectFileRecords: true });
32
- const registrationPlan = buildRegistrationPlan(contractMap, config, { projectRoot, scanDirs });
33
- return {
34
- discoveryFiles,
35
- contractMap,
36
- acceptedFactories,
37
- registrationPlan,
38
- };
31
+ try {
32
+ const { contractMap, acceptedFactories, discoveryFiles } = discoverFactories(files, program, projectRoot, factoryExportPrefix, { projectRoot, scanDirs, generatedDir }, config ?? undefined, { collectFileRecords: true });
33
+ const markerLifetimesByFactoryKey = resolveLifetimeMarkersForFactories(acceptedFactories, config?.lifetimeMarkers, { program, projectRoot, scanDirs });
34
+ const registrationPlan = buildRegistrationPlan(contractMap, config, {
35
+ projectRoot,
36
+ scanDirs,
37
+ markerLifetimesByFactoryKey,
38
+ });
39
+ return {
40
+ discoveryFiles,
41
+ contractMap,
42
+ acceptedFactories,
43
+ registrationPlan,
44
+ };
45
+ }
46
+ catch (error) {
47
+ logDiscoveryProgramErrorDiagnosticsForFailure(program, projectRoot, files, error);
48
+ throw error;
49
+ }
39
50
  };
40
51
  /**
41
52
  * Re-runs factory discovery from source (and TypeScript) for inspection / CLI.
@@ -1 +1 @@
1
- {"version":3,"file":"runDiscoveryAnalysis.js","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runDiscoveryAnalysis.js","sourceRoot":"","sources":["../../src/inspection/runDiscoveryAnalysis.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,EACL,oBAAoB,EACpB,mCAAmC,EACnC,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,6CAA6C,GAC9C,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,iCAAiC,EACjC,sBAAsB,GAEvB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,kCAAkC,EAAE,MAAM,wCAAwC,CAAC;AAgB5F,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,EAAE,IAKrD,EAAwC,EAAE;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAC9B,IAAI,EAAE,cAAc,IAAI,IAAI,EAAE,KAAK,EAAE,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAClE,CAAC;IACF,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM;QACxB,CAAC,CAAC,mCAAmC,CAAC,OAAO,CAAC;QAC9C,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,IAAI,WAAW,CAAC;IAC5C,MAAM,IAAI,GAAG,sBAAsB,CAAC;QAClC,KAAK,EAAE;YACL,GAAG,IAAI,EAAE,KAAK;YACd,WAAW;SACZ;KACF,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,iCAAiC,CAAC,IAAI,EAAE,MAAM,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC;IACT,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,KAAK,EACtC,QAAqC,EACH,EAAE;IACpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IACrC,MAAM,EACJ,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,EAC9C,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,GAAG,OAAO,CAAC;IAEZ,MAAM,KAAK,GAAG,MAAM,uBAAuB,CACzC,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,CACb,CAAC;IACF,MAAM,OAAO,GAAG,4BAA4B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,GACtD,iBAAiB,CACf,KAAK,EACL,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,EACvC,MAAM,IAAI,SAAS,EACnB,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAC7B,CAAC;QAEJ,MAAM,2BAA2B,GAAG,kCAAkC,CACpE,iBAAiB,EACjB,MAAM,EAAE,eAAe,EACvB,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CACnC,CAAC;QAEF,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE;YAClE,WAAW;YACX,QAAQ;YACR,2BAA2B;SAC5B,CAAC,CAAC;QAEH,OAAO;YACL,cAAc;YACd,WAAW;YACX,iBAAiB;YACjB,gBAAgB;SACjB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6CAA6C,CAC3C,OAAO,EACP,WAAW,EACX,KAAK,EACL,KAAK,CACN,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAM1C,EAAoC,EAAE;IACrC,MAAM,QAAQ,GACZ,IAAI,EAAE,eAAe,IAAI,CAAC,MAAM,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ioc-manifest",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Build-time factory discovery and codegen: generates a typed Awilix (PROXY) registration manifest from TypeScript sources with ioc.config as the single policy surface.",
5
5
  "license": "MIT",
6
6
  "repository": {