@prisma-next/framework-components 0.4.0-dev.9 → 0.5.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"codec-types-B58nCJiu.d.mts","names":[],"sources":["../src/codec-types.ts"],"sourcesContent":[],"mappings":";;;KAEY,UAAA;;AAAZ;AAaA;;;;;;;;;AAiBoB,UAjBH,KAiBG,CAAA,WAAA,MAAA,GAAA,MAAA,EAAA,gBAAA,SAfO,UAeP,EAAA,GAAA,SAf+B,UAe/B,EAAA,EAAA,QAAA,OAAA,EAAA,MAAA,OAAA,CAAA,CAAA;EAAM;EAEP,SAAA,EAAA,EAZJ,EAYI;EAAY;EAEC,SAAA,WAAA,EAAA,SAAA,MAAA,EAAA;EAAM;EAGrB,SAAA,MAAW,CAAA,EAbR,OAaQ;EAIf;iBAfI,MAAM;;eAER,QAAQ;;oBAEH,MAAM;;mBAEP,YAAY;;gCAEC;;UAGf,WAAA;mBACE;;cAGN,kBAAkB"}
1
+ {"version":3,"file":"codec-types-B58nCJiu.d.mts","names":[],"sources":["../src/codec-types.ts"],"sourcesContent":[],"mappings":";;;KAEY,UAAA;;AAAZ;AAaA;;;;;;;;;AAiBoB,UAjBH,KAiBG,CAAA,WAAA,MAAA,GAAA,MAAA,EAAA,gBAAA,SAfO,UAeP,EAAA,GAAA,SAf+B,UAe/B,EAAA,EAAA,QAAA,OAAA,EAAA,MAAA,OAAA,CAAA,CAAA;EAAM;EAEP,SAAA,EAAA,EAZJ,EAYI;EAAY;EAEC,SAAA,WAAA,EAAA,SAAA,MAAA,EAAA;EAAM;EAGrB,SAAA,MAAW,CAAA,EAbR,OAcD;EAGN;iBAfI,MAAM;;eAER,QAAQ;;oBAEH,MAAM;;mBAEP,YAAY;;gCAEC;;UAGf,WAAA;mBACE;;cAGN,kBAAkB"}
@@ -265,7 +265,14 @@ interface ControlTargetDescriptor<TFamilyId extends string, TTargetId extends st
265
265
  create(): TTargetInstance;
266
266
  }
267
267
  interface ControlAdapterDescriptor<TFamilyId extends string, TTargetId extends string, TAdapterInstance extends ControlAdapterInstance<TFamilyId, TTargetId> = ControlAdapterInstance<TFamilyId, TTargetId>> extends AdapterDescriptor<TFamilyId, TTargetId> {
268
- create(): TAdapterInstance;
268
+ /**
269
+ * Construct a control adapter instance for this stack.
270
+ *
271
+ * The `stack` argument mirrors `ControlFamilyDescriptor.create(stack)`:
272
+ * adapter implementations may inspect `stack.codecLookup`, extension packs,
273
+ * or other assembled metadata when constructing the instance.
274
+ */
275
+ create(stack: ControlStack<TFamilyId, TTargetId>): TAdapterInstance;
269
276
  }
270
277
  interface ControlDriverDescriptor<TFamilyId extends string, TTargetId extends string, TDriverInstance extends ControlDriverInstance<TFamilyId, TTargetId> = ControlDriverInstance<TFamilyId, TTargetId>, TConnection = string> extends DriverDescriptor<TFamilyId, TTargetId> {
271
278
  create(connection: TConnection): Promise<TDriverInstance>;
@@ -339,15 +346,6 @@ interface DataTransformOperation extends MigrationPlanOperation {
339
346
  interface MigrationOperationPolicy {
340
347
  readonly allowedOperationClasses: readonly MigrationOperationClass[];
341
348
  }
342
- /**
343
- * Minimal shape for operation descriptors at the framework level.
344
- * Targets produce richer types; this captures just enough for the
345
- * framework to scaffold migration.ts files and pass descriptors through.
346
- */
347
- interface OperationDescriptor {
348
- readonly kind: string;
349
- readonly [key: string]: unknown;
350
- }
351
349
  /**
352
350
  * A single migration operation for display purposes.
353
351
  * Contains only the fields needed for CLI output (tree view, JSON envelope).
@@ -360,6 +358,19 @@ interface MigrationPlanOperation {
360
358
  /** The class of operation (additive, widening, destructive). */
361
359
  readonly operationClass: MigrationOperationClass;
362
360
  }
361
+ /**
362
+ * Framework-level contract for a single factory call in a target's planner IR.
363
+ *
364
+ * @see ADR 195
365
+ */
366
+ interface OpFactoryCall {
367
+ /** The name of the factory that would produce this call's runtime op. */
368
+ readonly factoryName: string;
369
+ /** The operation's safety class (additive, widening, destructive, data). */
370
+ readonly operationClass: MigrationOperationClass;
371
+ /** Human-readable label for CLI output and diagnostics. */
372
+ readonly label: string;
373
+ }
363
374
  /**
364
375
  * A migration plan for display purposes.
365
376
  * Contains only the fields needed for CLI output (summary, JSON envelope).
@@ -391,14 +402,8 @@ interface MigrationPlan {
391
402
  * - hand the plan to the runner for execution (via `MigrationPlan`), and
392
403
  * - materialize the plan as an editable source file via `renderTypeScript()`.
393
404
  *
394
- * User-authored migrations (class-flow `Migration` subclasses) satisfy
395
- * `MigrationPlan` but not this interface: they are already the source.
396
- *
397
- * Descriptor-flow targets (e.g. Postgres) that do not materialize their
398
- * planner plans back to TypeScript provide a throwing stub so that
399
- * `MigrationPlannerSuccessResult.plan` has a uniform type at the framework
400
- * level. In practice the CLI only calls `renderTypeScript()` in the
401
- * class-flow branch of `migration plan`.
405
+ * User-authored migrations (`Migration` subclasses) satisfy `MigrationPlan`
406
+ * but not this interface: they are already the source.
402
407
  */
403
408
  interface MigrationPlanWithAuthoringSurface extends MigrationPlan {
404
409
  /**
@@ -423,10 +428,7 @@ interface MigrationPlannerConflict {
423
428
  * Successful planner result with the migration plan.
424
429
  *
425
430
  * The plan is typed as `MigrationPlanWithAuthoringSurface` so the CLI can
426
- * uniformly ask any plan to render itself to TypeScript. Targets whose
427
- * planners do not support that (descriptor-flow targets like Postgres)
428
- * supply a throwing `renderTypeScript()` stub — the CLI only calls it in
429
- * the class-flow branch of `migration plan`.
431
+ * uniformly ask any plan to render itself to TypeScript.
430
432
  */
431
433
  interface MigrationPlannerSuccessResult {
432
434
  readonly kind: 'success';
@@ -502,11 +504,19 @@ interface MigrationPlanner<TFamilyId extends string = string, TTargetId extends
502
504
  readonly policy: MigrationOperationPolicy;
503
505
  /**
504
506
  * Storage hash of the "from" contract (the state the planner assumes the
505
- * database starts at). Class-flow planners use this to populate
506
- * `describe()` on the produced plan so the rendered `migration.ts` has
507
- * correct `from`/`to` metadata.
507
+ * database starts at). Planners use this to populate `describe()` on the
508
+ * produced plan so the rendered `migration.ts` has correct `from`/`to`
509
+ * metadata.
508
510
  */
509
511
  readonly fromHash: string;
512
+ /**
513
+ * The "from" contract (the state the planner assumes the database starts
514
+ * at). Planners pass this to data-safety strategies so they can compare
515
+ * `from` and `to` column shapes (e.g. to detect unsafe type changes).
516
+ * `db update` / `db init` reconcile against the live schema and have no
517
+ * "from" contract; only `migration plan` provides one.
518
+ */
519
+ readonly fromContract?: unknown;
510
520
  /**
511
521
  * Active framework components participating in this composition.
512
522
  * Families/targets can interpret this list to derive family-specific metadata.
@@ -517,10 +527,9 @@ interface MigrationPlanner<TFamilyId extends string = string, TTargetId extends
517
527
  /**
518
528
  * Produce an empty migration with the target's authoring conventions.
519
529
  *
520
- * Used by `migration new` to scaffold a fresh `migration.ts` without the
521
- * CLI needing to know whether the target uses descriptor-flow or class-flow
522
- * authoring. The returned plan has no operations; its `renderTypeScript()`
523
- * yields a stub the user can edit.
530
+ * Used by `migration new` to scaffold a fresh `migration.ts`. The
531
+ * returned plan has no operations; its `renderTypeScript()` yields a
532
+ * stub the user can edit.
524
533
  */
525
534
  emptyMigration(context: MigrationScaffoldContext): MigrationPlanWithAuthoringSurface;
526
535
  }
@@ -575,82 +584,13 @@ interface TargetMigrationsCapability<TFamilyId extends string = string, TTargetI
575
584
  * @returns Family-specific schema IR (e.g., `SqlSchemaIR` for SQL targets).
576
585
  */
577
586
  contractToSchema(contract: Contract | null, frameworkComponents?: ReadonlyArray<TargetBoundComponentDescriptor<TFamilyId, TTargetId>>): unknown;
578
- /**
579
- * Plans a migration using the descriptor-based planner.
580
- * Returns operation descriptors that the caller scaffolds into a
581
- * `migration.ts` file. Whether the resulting migration can be emitted
582
- * end-to-end is determined at emit time (via `placeholder()` errors
583
- * thrown for unfilled slots), not by the planner.
584
- */
585
- planWithDescriptors?(context: {
586
- readonly fromContract: Contract | null;
587
- readonly toContract: Contract;
588
- readonly frameworkComponents?: ReadonlyArray<TargetBoundComponentDescriptor<TFamilyId, TTargetId>>;
589
- }): {
590
- readonly ok: true;
591
- readonly descriptors: readonly OperationDescriptor[];
592
- } | {
593
- readonly ok: false;
594
- readonly conflicts: readonly MigrationPlannerConflict[];
595
- };
596
- /**
597
- * Resolves operation descriptors into target-specific migration plan operations
598
- * with SQL/DDL, prechecks, and postchecks. Called by `migration emit` to
599
- * serialize migration.ts into ops.json.
600
- */
601
- resolveDescriptors?(descriptors: readonly OperationDescriptor[], context: {
602
- readonly fromContract: Contract | null;
603
- readonly toContract: Contract;
604
- readonly schemaName?: string;
605
- readonly frameworkComponents?: ReadonlyArray<TargetBoundComponentDescriptor<TFamilyId, TTargetId>>;
606
- }): readonly MigrationPlanOperation[];
607
- /**
608
- * Optional: render a descriptor list back to a populated `migration.ts`
609
- * source string.
610
- *
611
- * Descriptor-flow targets (e.g. Postgres) implement this so that
612
- * `migration plan` can hand the user an editable authoring surface that
613
- * already captures the planner's decisions. Class-flow targets do not
614
- * implement it — their planner already returns a renderable plan via
615
- * `MigrationPlannerSuccessResult.plan.renderTypeScript()`.
616
- */
617
- renderDescriptorTypeScript?(descriptors: readonly OperationDescriptor[], context: MigrationScaffoldContext): string;
618
- /**
619
- * Optional: in-process emit capability for class-flow migration files.
620
- *
621
- * Targets that author `migration.ts` as an executable class (rather than
622
- * an array of descriptors) implement `emit` to produce `ops.json` from
623
- * the source file directly. The framework dispatches to `emit` whenever
624
- * `resolveDescriptors` is not present on the target.
625
- *
626
- * The capability runs in the same Node process as the CLI:
627
- * - The target dynamically imports `<dir>/migration.ts`, locates the
628
- * authored class on the module's default export, and invokes whatever
629
- * runtime machinery it needs to obtain the operations list.
630
- * - Structured errors thrown during evaluation (notably
631
- * `errorUnfilledPlaceholder` with code `PN-MIG-2001`) propagate as
632
- * real JS exceptions so the CLI's normal error envelope can render
633
- * them with full structured metadata. No subprocess is spawned.
634
- * - The target is responsible for calling `writeMigrationOps(dir, ops)`
635
- * so that `ops.json` ends up on disk before `emit` returns. The
636
- * framework's `emitMigration` helper is the single owner of
637
- * `attestMigration(dir)` — the target MUST NOT call
638
- * `attestMigration` itself.
639
- * - The returned `MigrationPlanOperation[]` is the display-oriented
640
- * shape the CLI uses for output (id, label, operationClass).
641
- */
642
- emit?(options: {
643
- readonly dir: string;
644
- readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<TFamilyId, TTargetId>>;
645
- }): Promise<readonly MigrationPlanOperation[]>;
646
587
  }
647
588
  /**
648
589
  * Context for rendering migration source files.
649
590
  *
650
591
  * Kept minimal: only the paths a target might need to compute relative imports
651
592
  * (e.g. the contract `.d.ts` import for typed-contract builders). Passed to
652
- * `MigrationPlanner.emptyMigration(context)` and to
653
- * `TargetMigrationsCapability.renderDescriptorTypeScript(descriptors, context)`.
593
+ * `MigrationPlanner.emptyMigration(context)`.
654
594
  */
655
595
  interface MigrationScaffoldContext {
656
596
  /** Absolute path to the migration package directory. Used by targets to compute relative imports. */
@@ -658,9 +598,9 @@ interface MigrationScaffoldContext {
658
598
  /** Absolute path to the contract.json file, if one exists. Used by targets that emit typed-contract imports. */
659
599
  readonly contractJsonPath?: string;
660
600
  /**
661
- * Storage hash of the "from" contract. Class-flow targets (e.g. Mongo) use
662
- * this to populate `describe()` on the rendered empty migration so that
663
- * `migration.json` generated at emit time has correct identity metadata.
601
+ * Storage hash of the "from" contract. Targets use this to populate
602
+ * `describe()` on the rendered empty migration so that identity metadata
603
+ * is correctly populated.
664
604
  */
665
605
  readonly fromHash: string;
666
606
  /**
@@ -719,5 +659,5 @@ interface SchemaViewCapable<TSchemaIR = unknown> {
719
659
  }
720
660
  declare function hasSchemaView<TFamilyId extends string, TSchemaIR>(instance: ControlFamilyInstance<TFamilyId, TSchemaIR>): instance is ControlFamilyInstance<TFamilyId, TSchemaIR> & SchemaViewCapable<TSchemaIR>;
721
661
  //#endregion
722
- export { type AssembledAuthoringContributions, type BaseSchemaIssue, type ControlAdapterDescriptor, type ControlAdapterInstance, type ControlDriverDescriptor, type ControlDriverInstance, type ControlExtensionDescriptor, type ControlExtensionInstance, type ControlFamilyDescriptor, type ControlFamilyInstance, type ControlMutationDefaultEntry, type ControlMutationDefaultRegistry, type ControlMutationDefaults, type ControlStack, type ControlTargetDescriptor, type ControlTargetInstance, type CoreSchemaView, type CreateControlStackInput, type DataTransformOperation, type DefaultFunctionLoweringContext, type DefaultFunctionLoweringHandler, type DefaultFunctionRegistry, type DefaultFunctionRegistryEntry, type EmitContractResult, type EnumValuesChangedIssue, type IntrospectSchemaResult, type LoweredDefaultResult, type LoweredDefaultValue, type MigratableTargetDescriptor, type MigrationOperationClass, type MigrationOperationPolicy, type MigrationPlan, type MigrationPlanOperation, type MigrationPlanWithAuthoringSurface, type MigrationPlanner, type MigrationPlannerConflict, type MigrationPlannerFailureResult, type MigrationPlannerResult, type MigrationPlannerSuccessResult, type MigrationRunner, type MigrationRunnerExecutionChecks, type MigrationRunnerFailure, type MigrationRunnerResult, type MigrationRunnerSuccessValue, type MigrationScaffoldContext, type MutationDefaultGeneratorDescriptor, type OperationContext, type OperationDescriptor, type ParsedDefaultFunctionCall, type SchemaIssue, type SchemaNodeKind, SchemaTreeNode, type SchemaTreeNodeOptions, type SchemaTreeVisitor, type SchemaVerificationNode, type SchemaViewCapable, type SerializedQueryPlan, type SignDatabaseResult, type SourceDiagnostic, type SourceSpan, type TargetMigrationsCapability, VERIFY_CODE_HASH_MISMATCH, VERIFY_CODE_MARKER_MISSING, VERIFY_CODE_SCHEMA_FAILURE, VERIFY_CODE_TARGET_MISMATCH, type VerifyDatabaseResult, type VerifyDatabaseSchemaResult, assembleAuthoringContributions, assembleControlMutationDefaults, assembleScalarTypeDescriptors, assertUniqueCodecOwner, createControlStack, extractCodecLookup, extractCodecTypeImports, extractComponentIds, extractOperationTypeImports, extractQueryOperationTypeImports, hasMigrations, hasSchemaView };
662
+ export { type AssembledAuthoringContributions, type BaseSchemaIssue, type ControlAdapterDescriptor, type ControlAdapterInstance, type ControlDriverDescriptor, type ControlDriverInstance, type ControlExtensionDescriptor, type ControlExtensionInstance, type ControlFamilyDescriptor, type ControlFamilyInstance, type ControlMutationDefaultEntry, type ControlMutationDefaultRegistry, type ControlMutationDefaults, type ControlStack, type ControlTargetDescriptor, type ControlTargetInstance, type CoreSchemaView, type CreateControlStackInput, type DataTransformOperation, type DefaultFunctionLoweringContext, type DefaultFunctionLoweringHandler, type DefaultFunctionRegistry, type DefaultFunctionRegistryEntry, type EmitContractResult, type EnumValuesChangedIssue, type IntrospectSchemaResult, type LoweredDefaultResult, type LoweredDefaultValue, type MigratableTargetDescriptor, type MigrationOperationClass, type MigrationOperationPolicy, type MigrationPlan, type MigrationPlanOperation, type MigrationPlanWithAuthoringSurface, type MigrationPlanner, type MigrationPlannerConflict, type MigrationPlannerFailureResult, type MigrationPlannerResult, type MigrationPlannerSuccessResult, type MigrationRunner, type MigrationRunnerExecutionChecks, type MigrationRunnerFailure, type MigrationRunnerResult, type MigrationRunnerSuccessValue, type MigrationScaffoldContext, type MutationDefaultGeneratorDescriptor, type OpFactoryCall, type OperationContext, type ParsedDefaultFunctionCall, type SchemaIssue, type SchemaNodeKind, SchemaTreeNode, type SchemaTreeNodeOptions, type SchemaTreeVisitor, type SchemaVerificationNode, type SchemaViewCapable, type SerializedQueryPlan, type SignDatabaseResult, type SourceDiagnostic, type SourceSpan, type TargetMigrationsCapability, VERIFY_CODE_HASH_MISMATCH, VERIFY_CODE_MARKER_MISSING, VERIFY_CODE_SCHEMA_FAILURE, VERIFY_CODE_TARGET_MISMATCH, type VerifyDatabaseResult, type VerifyDatabaseSchemaResult, assembleAuthoringContributions, assembleControlMutationDefaults, assembleScalarTypeDescriptors, assertUniqueCodecOwner, createControlStack, extractCodecLookup, extractCodecTypeImports, extractComponentIds, extractOperationTypeImports, extractQueryOperationTypeImports, hasMigrations, hasSchemaView };
723
663
  //# sourceMappingURL=control.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"control.d.mts","names":[],"sources":["../src/control-result-types.ts","../src/control-instances.ts","../src/control-stack.ts","../src/control-descriptors.ts","../src/control-migration-types.ts","../src/control-schema-view.ts","../src/control-capabilities.ts"],"sourcesContent":[],"mappings":";;;;;;;;;cAAa,0BAAA;cACA,yBAAA;cACA,2BAAA;cACA,0BAAA;UAEI,gBAAA;;;kBAGC,SAAS;;AARd,UAWI,oBAAA,CAXsB;EAC1B,SAAA,EAAA,EAAA,OAAA;EACA,SAAA,IAAA,CAAA,EAAA,MAAA;EACA,SAAA,OAAA,EAAA,MAAA;EAEI,SAAA,QAAA,EAAgB;IAMhB,SAAA,WAAoB,EAAA,MAAA;IA2BpB,SAAA,WAAe,CAAA,EAAA,MAAA;EAiCf,CAAA;EAQL,SAAA,MAAW,CAAA,EAAA;IAEN,SAAA,WAAA,CAAsB,EAAA,MAAA;IAYtB,SAAA,WAAA,CAAA,EAAA,MAA0B;EAgC1B,CAAA;EAQA,SAAA,MAAA,EAAA;IAiBA,SAAA,QAAkB,EAAA,MAAA;;;;ECvIlB,SAAA,oBAAqB,CAAA,EAAA,OAAA;EACb,SAAA,IAAA,CAAA,EAAA;IACkB,SAAA,UAAA,CAAA,EAAA,MAAA;IAGA,SAAA,YAAA,EAAA,MAAA;EAAtB,CAAA;EAKP,SAAA,OAAA,EAAA;IAAR,SAAA,KAAA,EAAA,MAAA;EAGqC,CAAA;;AAKoC,UDK9D,eAAA,CCL8D;EAA/B,SAAA,IAAA,EAAA,eAAA,GAAA,gBAAA,GAAA,aAAA,GAAA,cAAA,GAAA,mBAAA,GAAA,mBAAA,GAAA,yBAAA,GAAA,aAAA,GAAA,iBAAA,GAAA,eAAA,GAAA,cAAA,GAAA,sBAAA,GAAA,sBAAA,GAAA,sBAAA,GAAA,sBAAA,GAAA,4BAAA,GAAA,gBAAA,GAAA,oBAAA,GAAA,iBAAA,GAAA,kBAAA,GAAA,eAAA;EAAd,SAAA,KAAA,CAAA,EAAA,MAAA;EACpB,SAAA,MAAA,CAAA,EAAA,MAAA;EAAR,SAAA,iBAAA,CAAA,EAAA,MAAA;EAGqC,SAAA,QAAA,CAAA,EAAA,MAAA;EAAtB,SAAA,YAAA,CAAA,EAAA,MAAA;EAIP,SAAA,QAAA,CAAA,EAAA,MAAA;EAAR,SAAA,MAAA,CAAA,EAAA,MAAA;EAGqC,SAAA,OAAA,EAAA,MAAA;;AAC7B,UD0BG,sBAAA,CC1BH;EAAR,SAAA,IAAA,EAAA,qBAAA;EAGqC,SAAA,QAAA,EAAA,MAAA;EAAtB,SAAA,WAAA,EAAA,SAAA,MAAA,EAAA;EAEP,SAAA,aAAA,EAAA,SAAA,MAAA,EAAA;EAAR,SAAA,OAAA,EAAA,MAAA;;AAlCkB,KD+DZ,WAAA,GAAc,eC/DF,GD+DoB,sBC/DpB;AAqCP,UD4BA,sBAAA,CC5BqB;EACb,SAAA,MAAA,EAAA,MAAA,GAAA,MAAA,GAAA,MAAA;EAAW,SAAA,IAAA,EAAA,MAAA;EAA1B,SAAA,IAAA,EAAA,MAAA;EAAc,SAAA,YAAA,EAAA,MAAA;EAEP,SAAA,IAAA,EAAA,MAAA;EACS,SAAA,OAAA,EAAA,MAAA;EAAW,SAAA,QAAA,EAAA,OAAA;EAA3B,SAAA,MAAA,EAAA,OAAA;EAAe,SAAA,QAAA,EAAA,SDiCK,sBCjCL,EAAA;AAEzB;AACyB,UDiCR,0BAAA,CCjCQ;EAAW,SAAA,EAAA,EAAA,OAAA;EACtB,SAAA,IAAA,CAAA,EAAA,MAAA;EAGgB,SAAA,OAAA,EAAA,MAAA;EAAzB,SAAA,QAAA,EAAA;IACM,SAAA,WAAA,EAAA,MAAA;IALD,SAAA,WAAA,CAAA,EAAA,MAAA;EAAc,CAAA;EAQP,SAAA,MAAA,EAAA;IACW,SAAA,QAAA,EAAA,MAAA;IAAW,SAAA,MAAA,CAAA,EAAA,MAAA;EAA7B,CAAA;EAAiB,SAAA,MAAA,EAAA;8BDqCG;mBACX;;MEpFF,SAAA,IAAA,EAAA,MAAA;MAKA,SAAY,IAAA,EAAA,MAAA;MAIc,SAAA,IAAA,EAAA,MAAA;MAAxB,SAAA,UAAA,EAAA,MAAA;IACwB,CAAA;EAAW,CAAA;EAAnC,SAAA,IAAA,CAAA,EAAA;IAC2B,SAAA,UAAA,CAAA,EAAA,MAAA;IAAW,SAAA,YAAA,CAAA,EAAA,MAAA;IAApC,SAAA,MAAA,EAAA,OAAA;EACuB,CAAA;EAAW,SAAA,OAAA,EAAA;IAAnC,SAAA,KAAA,EAAA,MAAA;EAC2C,CAAA;;AAA3B,UFyFnB,kBAAA,CEzFmB;EAEO,SAAA,YAAA,EAAA,MAAA;EAAd,SAAA,WAAA,EAAA,MAAA;EACkB,SAAA,WAAA,EAAA,MAAA;EAAd,SAAA,aAAA,CAAA,EAAA,MAAA;EACmB,SAAA,WAAA,EAAA,MAAA;;AAC3B,UF4FR,sBE5FQ,CAAA,SAAA,CAAA,CAAA;EACD,SAAA,EAAA,EAAA,IAAA;EACW,SAAA,OAAA,EAAA,MAAA;EACD,SAAA,MAAA,EAAA;IACE,SAAA,QAAA,EAAA,MAAA;IAAuB,SAAA,EAAA,EAAA,MAAA;EAG1C,CAAA;EAI0B,SAAA,MAAA,EFwFxB,SExFwB;EAAxB,SAAA,IAAA,CAAA,EAAA;IACwB,SAAA,UAAA,CAAA,EAAA,MAAA;IAAW,SAAA,KAAA,CAAA,EAAA,MAAA;EAAnC,CAAA;EAC2B,SAAA,OAAA,EAAA;IAAW,SAAA,KAAA,EAAA,MAAA;EAApC,CAAA;;AACkC,UF+FtC,kBAAA,CE/FsC;EAAnC,SAAA,EAAA,EAAA,OAAA;EAE2B,SAAA,OAAA,EAAA,MAAA;EAAW,SAAA,QAAA,EAAA;IAAtC,SAAA,WAAA,EAAA,MAAA;IAAd,SAAA,WAAA,CAAA,EAAA,MAAA;EAAa,CAAA;EAWH,SAAA,MAAA,EAAA;IAiBA,SAAA,QAAA,EAAA,MAAuB;IACL,SAAA,MAAA,CAAA,EAAA,MAAA;EAAL,CAAA;EAAd,SAAA,MAAA,EAAA;IACE,SAAA,OAAA,EAAA,OAAA;IAAd,SAAA,OAAA,EAAA,OAAA;IAAa,SAAA,QAAA,CAAA,EAAA;MAgBA,SAAA,WAAA,CAAA,EAA2B,MAAA;MACT,SAAA,WAAA,CAAA,EAAA,MAAA;IAAL,CAAA;EAAd,CAAA;EACE,SAAA,IAAA,CAAA,EAAA;IAAd,SAAA,UAAA,CAAA,EAAA,MAAA;IAAa,SAAA,YAAA,EAAA,MAAA;EAaA,CAAA;EACkB,SAAA,OAAA,EAAA;IAAL,SAAA,KAAA,EAAA,MAAA;EAAd,CAAA;;;;UDxGE,mEACP,eAAe;2CACkB;;qBAGtB,sBAAsB;;;IDpB9B,SAAA,YAAA,EAAA,MAA0B;IAC1B,SAAA,UAAA,CAAA,EAAA,MAAyB;EACzB,CAAA,CAAA,ECuBP,ODvBO,CCuBC,oBDvB0B,CAAA;EAC3B,YAAA,CAAA,OAAA,EAAA;IAEI,SAAA,MAAgB,ECuBZ,qBDpBH,CCoByB,SDpBjB,EAAA,MAAA,CAAA;IAGT,SAAA,QAAA,EAAoB,OAAA;IA2BpB,SAAA,MAAe,EAAA,OAAA;IAiCf,SAAA,YAAsB,EAAA,MAAA;IAQ3B,SAAA,UAAW,CAAA,EAAG,MAAA;IAET,SAAA,mBAAsB,EChDL,aDyDJ,CCzDkB,8BDyDI,CCzD2B,SDyD3B,EAAA,MAAA,CAAA,CAAA;EAGnC,CAAA,CAAA,EC3DX,OD2DW,CC3DH,0BD2D6B,CAAA;EAgC1B,IAAA,CAAA,OAAA,EAAA;IAQA,SAAA,MAAA,EChGI,qBDgGkB,CChGI,SDuGxB,EAAA,MAAS,CAAA;IAUX,SAAA,QAAkB,EAAA,OAAA;;;MC7G7B,QAAQ;EA1BG,UAAA,CAAA,OAAA,EAAA;IACQ,SAAA,MAAA,EA4BJ,qBA5BI,CA4BkB,SA5BlB,EAAA,MAAA,CAAA;EACkB,CAAA,CAAA,EA4BrC,OA5BqC,CA4B7B,oBA5B6B,GAAA,IAAA,CAAA;EAGA,UAAA,CAAA,OAAA,EAAA;IAAtB,SAAA,MAAA,EA4BA,qBA5BA,CA4BsB,SA5BtB,EAAA,MAAA,CAAA;IAKP,SAAA,QAAA,CAAA,EAAA,OAAA;EAAR,CAAA,CAAA,EAyBA,OAzBA,CAyBQ,SAzBR,CAAA;;AAGe,UAyBJ,qBAzBI,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,CAAA,SA0BX,cA1BW,CA0BI,SA1BJ,EA0Be,SA1Bf,CAAA,CAAA;AAK2B,UAuB/B,sBAvB+B,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,CAAA,SAwBtC,eAxBsC,CAwBtB,SAxBsB,EAwBX,SAxBW,CAAA,CAAA;AAClC,UAyBG,qBAzBH,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,CAAA,SA0BJ,cA1BI,CA0BW,SA1BX,EA0BsB,SA1BtB,CAAA,CAAA;EAAR,KAAA,CAAA,MA2BQ,MA3BR,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,SAAA,OAAA,EAAA,CAAA,EA8BD,OA9BC,CAAA;IAGqC,SAAA,IAAA,EA2Bb,GA3Ba,EAAA;EAAtB,CAAA,CAAA;EAIP,KAAA,EAAA,EAwBH,OAxBG,CAAA,IAAA,CAAA;;AAG6B,UAwB1B,wBAxB0B,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,CAAA,SAyBjC,iBAzBiC,CAyBf,SAzBe,EAyBJ,SAzBI,CAAA,CAAA;;;UCrB1B,+BAAA;kBACC;iBACD;AFzBjB;AACa,UE2BI,YF3BJ,CAAA,kBAAyB,MAAA,GAAA,MAAA,EAAA,kBAAA,MAAA,GAAA,MAAA,CAAA,CAAA;EACzB,SAAA,MAAA,EE8BM,uBF9BqB,CE8BG,SF9BH,CAAA;EAC3B,SAAA,MAAA,EE8BM,uBF9BoB,CE8BI,SF9BJ,EE8Be,SF9Bf,CAAA;EAEtB,SAAA,OAAA,CAAA,EE6BI,wBF1BH,CE0B4B,SF1BpB,EE0B+B,SF1B/B,CAAA,GAAA,SAAA;EAGT,SAAA,MAAA,CAAA,EEwBG,uBFxBiB,CEwBO,SFxBP,EEwBkB,SFxBlB,CAAA,GAAA,SAAA;EA2BpB,SAAA,cAAe,EAAA,SEFI,0BFEJ,CEF+B,SFE/B,EEF0C,SFE1C,CAAA,EAAA;EAiCf,SAAA,gBAAsB,EEjCV,aFiCU,CEjCI,eFiCJ,CAAA;EAQ3B,SAAA,oBAAc,EExCO,aFwCW,CExCG,eFwCH,CAAA;EAE3B,SAAA,yBAAsB,EEzCD,aFkDR,CElDsB,eFkDA,CAAA;EAGnC,SAAA,YAAA,EEpDQ,aFoDkB,CAAA,MAab,CAAA;EAmBb,SAAA,WAAA,EEnFO,WFmFW;EAQlB,SAAA,sBAAsB,EE1FJ,+BFiGP;EAUX,SAAA,qBAAkB,EE1GD,WF0GC,CAAA,MAAA,EAAA,MAAA,CAAA;oCEzGC;;UAGnB;EDjCA,SAAA,MAAA,ECqCE,uBDrCmB,CCqCK,SDrCL,CAAA;EACb,SAAA,MAAA,ECqCN,uBDrCM,CCqCkB,SDrClB,ECqC6B,SDrC7B,CAAA;EACkB,SAAA,OAAA,CAAA,ECqCtB,wBDrCsB,CCqCG,SDrCH,ECqCc,SDrCd,CAAA,GAAA,SAAA;EAGA,SAAA,MAAA,CAAA,ECmCvB,uBDnCuB,CCmCC,SDnCD,ECmCY,SDnCZ,CAAA,GAAA,SAAA;EAAtB,SAAA,cAAA,CAAA,ECqCf,aDrCe,CCqCD,0BDrCC,CCqC0B,SDrC1B,ECqCqC,SDrCrC,CAAA,CAAA,GAAA,SAAA;;AAKf,iBC2CU,sBAAA,CD3CV,OAAA,EAAA;EAGqC,SAAA,OAAA,EAAA,MAAA;EAAtB,SAAA,MAAA,EC0CF,GD1CE,CAAA,MAAA,EAAA,MAAA,CAAA;EAK0D,SAAA,YAAA,EAAA,MAAA;EAA/B,SAAA,WAAA,EAAA,MAAA;EAAd,SAAA,oBAAA,EAAA,MAAA;CACpB,CAAA,EAAA,IAAA;AAAR,iBCmDU,uBAAA,CDnDV,WAAA,ECoDS,aDpDT,CCoDuB,IDpDvB,CCoD4B,iBDpD5B,EAAA,OAAA,CAAA,CAAA,CAAA,ECqDH,aDrDG,CCqDW,eDrDX,CAAA;AAGqC,iBCkE3B,2BAAA,CDlE2B,WAAA,ECmE5B,aDnE4B,CCmEd,IDnEc,CCmET,iBDnES,EAAA,OAAA,CAAA,CAAA,CAAA,ECoExC,aDpEwC,CCoE1B,eDpE0B,CAAA;AAAtB,iBCiFL,gCAAA,CDjFK,WAAA,ECkFN,aDlFM,CCkFQ,IDlFR,CCkFa,iBDlFb,EAAA,OAAA,CAAA,CAAA,CAAA,ECmFlB,aDnFkB,CCmFJ,eDnFI,CAAA;AAIP,iBC4FE,mBAAA,CD5FF,MAAA,EAAA;EAAR,SAAA,EAAA,EAAA,MAAA;CAGqC,EAAA,MAAA,EAAA;EAAtB,SAAA,EAAA,EAAA,MAAA;CACP,EAAA,OAAA,EAAA;EAAR,SAAA,EAAA,EAAA,MAAA;CAGqC,GAAA,SAAA,EAAA,UAAA,ECyF7B,aDzF6B,CAAA;EAAtB,SAAA,EAAA,EAAA,MAAA;CAEP,CAAA,CAAA,ECwFX,aDxFW,CAAA,MAAA,CAAA;AAAR,iBCyKU,8BAAA,CDzKV,WAAA,EC0KS,aD1KT,CAAA;EAlCI,SAAA,SAAA,CAAA,EC4M0C,sBD5M1C;CAAc,CAAA,CAAA,EC6MrB,+BD7MqB;AAqCP,iBCwMD,6BAAA,CDxMsB,WAAA,ECyMvB,aDzMuB,CC0MlC,ID1MkC,CC0M7B,iBD1M6B,EAAA,uBAAA,CAAA,GAAA;EACb,SAAA,EAAA,CAAA,EAAA,MAAA;CAAW,CAAA,CAAA,EC2MjC,WD3MiC,CAAA,MAAA,EAAA,MAAA,CAAA;AAA1B,iBCmOM,+BAAA,CDnON,WAAA,ECoOK,aDpOL,CCqON,IDrOM,CCqOD,iBDrOC,EAAA,yBAAA,CAAA,GAAA;EAAc,SAAA,EAAA,CAAA,EAAA,MAAA;AAExB,CAAA,CAAA,CAAA,ECqOG,uBDrOc;AACS,iBC8QV,kBAAA,CD9QU,WAAA,EC+QX,aD/QW,CC+QG,ID/QH,CC+QQ,iBD/QR,GAAA;EAAW,EAAA,CAAA,EAAA,MAAA;CAA3B,EAAA,OAAA,GAAA,IAAA,CAAA,CAAA,CAAA,ECgRP,WDhRO;AAEO,iBCmTD,kBDnTsB,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,CAAA,CAAA,KAAA,ECoT7B,uBDpT6B,CCoTL,SDpTK,ECoTM,SDpTN,CAAA,CAAA,ECqTnC,YDrTmC,CCqTtB,SDrTsB,ECqTX,SDrTW,CAAA;;;UE1CrB,0EAES,sBAAsB,sBAAsB,sBAClE,6BAGM,iBAAiB;qBACN;0CACqB,aAAa,WAAW,aAAa;;UAG9D,oGAGS,sBAAsB,WAAW,aAAa,sBACpE,WACA,oBAEM,iBAAiB,WAAW;EHnCzB,MAAA,EAAA,EGoCD,eHpCC;AACb;AACa,UGqCI,wBHrCuB,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,EAAA,yBGwCb,sBHxCa,CGwCU,SHxCV,EGwCqB,SHxCrB,CAAA,GGwCkC,sBHxClC,CGyCpC,SHzCoC,EG0CpC,SH1CoC,CAAA,CAAA,SG4C9B,iBH5C8B,CG4CZ,SH5CY,EG4CD,SH5CC,CAAA,CAAA;EAC3B,MAAA,EAAA,EG4CD,gBH5CC;AAEb;AAMiB,UGuCA,uBHvCoB,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,EAAA,wBG0CX,qBH1CW,CG0CW,SH1CX,EG0CsB,SH1CtB,CAAA,GG0CmC,qBH1CnC,CG2CjC,SH3CiC,EG4CjC,SH5CiC,CAAA,EAAA,cAAA,MAAA,CAAA,SG+C3B,gBH/C2B,CG+CV,SH/CU,EG+CC,SH/CD,CAAA,CAAA;EA2BpB,MAAA,CAAA,UAAA,EGqBI,WHrBW,CAAA,EGqBG,OHrBH,CGqBW,eHrBX,CAAA;AAiChC;AAQY,UGjBK,0BHiBS,CAAA,kBAAkB,MAAA,EAAsB,kBAAA,MAAA,EAAA,2BGdrC,wBHcqC,CGb9D,SHa8D,EGZ9D,SHY8D,CAAA,GGX5D,wBHW4D,CGXnC,SHWmC,EGXxB,SHWwB,CAAA,CAAA,SGVxD,mBHUwD,CGVpC,SHUoC,EGVzB,SHUyB,CAAA,CAAA;EAEjD,MAAA,EAAA,EGXL,kBHW2B;AAYvC;;;AAlFA;AA2BA;AAiCA;AAQA;AAEA;AAYA;AAgCA;AAQiB,KI1GL,uBAAA,GJ0G2B,UAAA,GAOpB,UAAS,GAAA,aAAA,GAAA,MAAA;AAU5B;;;;ACvIA;AACyB,UGsBR,mBAAA,CHtBQ;EACkB,SAAA,GAAA,EAAA,MAAA;EAGA,SAAA,MAAA,EAAA,SAAA,OAAA,EAAA;;;;;;;;;;;;;;;AAwBA,UGY1B,sBAAA,SAA+B,sBHZL,CAAA;EAAtB,SAAA,cAAA,EAAA,MAAA;EACP;;;;;EAKR,SAAA,IAAA,EAAA,MAAA;EAlCI;;AAqCV;;EACoC,SAAA,MAAA,EAAA,MAAA;EAA1B;;AAEV;;;;;EAGiB,SAAA,KAAA,EGiBC,mBHjBoB,GAAA,OAAA,GAAA,IAAA;EACb;;;;;EAKd,SAAA,GAAA,EAAA,SGiBc,mBHjBd,EAAA,GAAA,IAAA;;;AAGX;;AACuC,UGmBtB,wBAAA,CHnBsB;EAA7B,SAAA,uBAAA,EAAA,SGoBmC,uBHpBnC,EAAA;;;;;AC9CV;AAKA;AAI2C,UEqE1B,mBAAA,CFrE0B;EAAxB,SAAA,IAAA,EAAA,MAAA;EACwB,UAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA;;;;;;AAEC,UE2E3B,sBAAA,CF3E2B;EAAW;EAAnC,SAAA,EAAA,EAAA,MAAA;EAC2C;EAAW,SAAA,KAAA,EAAA,MAAA;EAAtC;EAEO,SAAA,cAAA,EE8EhB,uBF9EgB;;;;;;AAGlB,UEsFR,aAAA,CFtFQ;EACD;EACW,SAAA,QAAA,EAAA,MAAA;EACD;;;AAIlC;EAI2C,SAAA,MAAA,CAAA,EAAA;IAAxB,SAAA,WAAA,EAAA,MAAA;IACwB,SAAA,WAAA,CAAA,EAAA,MAAA;EAAW,CAAA,GAAA,IAAA;EAAnC;EAC2B,SAAA,WAAA,EAAA;IAAW,SAAA,WAAA,EAAA,MAAA;IAApC,SAAA,WAAA,CAAA,EAAA,MAAA;EACuB,CAAA;EAAW;EAAnC,SAAA,UAAA,EAAA,SEyFY,sBFzFZ,EAAA;;;;;;AAapB;AAiBA;;;;;;;AAkBA;;;;;AAEG,UE2Dc,iCAAA,SAA0C,aF3DxD,CAAA;EAAa;AAahB;;;;EAEiB,gBAAA,EAAA,EAAA,MAAA;;;AAajB;AAsFA;AACoD,UExCnC,wBAAA,CFwCmC;EAArC;EACZ,SAAA,IAAA,EAAA,MAAA;EAA+B;EAgClB,SAAA,OAAA,EAAA,MAAA;EAEP;EAAL,SAAA,GAAA,CAAA,EAAA,MAAA;;;;AA0BJ;;;;;;AA8CA;AACkC,UElIjB,6BAAA,CFkIiB;EAAL,SAAA,IAAA,EAAA,SAAA;EAAd,SAAA,IAAA,EEhIE,iCFgIF;;;AAsCf;;AAC4C,UEjK3B,6BAAA,CFiK2B;EAAnC,SAAA,IAAA,EAAA,SAAA;EACO,SAAA,SAAA,EAAA,SEhKe,wBFgKf,EAAA;;;;;KE1JJ,sBAAA,GAAyB,gCAAgC;;ADrMrE;;AAE0B,UC4MT,2BAAA,CD5MS;EACtB,SAAA,iBAAA,EAAA,MAAA;EADkE,SAAA,kBAAA,EAAA,MAAA;;;;;AAM5B,UC8MzB,sBAAA,CD9MyB;EAAqC;EAFrE,SAAA,IAAA,EAAA,MAAA;EAAgB;EAKT,SAAA,OAAA,EAAA,MAAA;EAG+B;EAAW,SAAA,GAAA,CAAA,EAAA,MAAA;EAAjC;EACtB,SAAA,IAAA,CAAA,EC+Mc,MD/Md,CAAA,MAAA,EAAA,OAAA,CAAA;;;;;AAIQ,KCiNA,qBAAA,GAAwB,MDjNxB,CCiN+B,2BDjN/B,ECiN4D,sBDjN5D,CAAA;;;AAGZ;;AAG6D,UCqN5C,8BAAA,CDrN4C;EAAlC;;;;EAIC,SAAA,SAAA,CAAA,EAAA,OAAA;EAAW;;;;EAItB,SAAA,UAAA,CAAA,EAAA,OAAuB;EAGQ;;;;EAE5C,SAAA,iBAAA,CAAA,EAAA,OAAA;;;;;;;;;AAOa,UC8NA,gBD9N0B,CAAA,kBAAA,MAAA,GAAA,MAAA,EAAA,kBAAA,MAAA,GAAA,MAAA,CAAA,CAAA;EAIvC,IAAA,CAAA,OAAA,EAAA;IACA,SAAA,QAAA,EAAA,OAAA;IAFyB,SAAA,MAAA,EAAA,OAAA;IAGE,SAAA,MAAA,EC+NV,wBD/NU;IAAW;;;;;;IACb,SAAA,QAAA,EAAA,MAAA;;;;AC1C7B;AAWA;IAkBiB,SAAA,mBAAuB,EAwPN,aAxPM,CAyPlC,8BAzPkC,CAyPH,SAzPG,EAyPQ,SAzPR,CAAA,CAAA;EAoBtB,CAAA,CAAA,EAuOZ,sBAvOY;EAMO;;;AAMzB;AAaA;AASA;AAiBA;AAqCA;EAgBiB,cAAA,CAAA,OAAA,EAyIS,wBAzIe,CAAA,EAyIY,iCAzIZ;AAkBzC;AAQA;AAQA;AASA;AAQA;AAcA;;;AAAoC,UAkFnB,eAlFmB,CAAA,kBAAA,MAAA,GAAA,MAAA,EAAA,kBAAA,MAAA,GAAA,MAAA,CAAA,CAAA;EAAM,OAAA,CAAA,OAAA,EAAA;IAUzB,SAAA,IAAA,EA6EE,aA7EF;IA6BA,SAAA,MAAgB,EAiDZ,qBAjDY,CAiDU,SAjDV,EAiDqB,SAjDrB,CAAA;IAOZ,SAAA,mBAAA,EAAA,OAAA;IAcgB,SAAA,MAAA,EA8BhB,wBA9BgB;IAAW,SAAA,SAAA,CAAA,EAAA;MAA1C,gBAAA,EAAA,EAAA,EAgCsB,sBAhCtB,CAAA,EAAA,IAAA;MAD4B,mBAAA,EAAA,EAAA,EAkCH,sBAlCG,CAAA,EAAA,IAAA;IAG5B,CAAA;IAUoB;;;AAU1B;IAKmB,SAAA,eAAA,CAAA,EAYY,8BAZZ;IACwB;;;;;IAKZ,SAAA,mBAAA,EAYG,aAZH,CAazB,8BAbyB,CAaM,SAbN,EAaiB,SAbjB,CAAA,CAAA;EAMA,CAAA,CAAA,EASzB,OATyB,CASjB,qBATiB,CAAA;;;;;;;;AAwB/B;;AAG0B,UAHT,0BAGS,CAAA,kBAAA,MAAA,GAAA,MAAA,EAAA,kBAAA,MAAA,GAAA,MAAA,EAAA,wBAAA,qBAAA,CAAsB,SAAtB,EAAA,OAAA,CAAA,GAA4C,qBAA5C,CACtB,SADsB,EAAA,OAAA,CAAA,CAAA,CAAA;EACtB,aAAA,CAAA,MAAA,EAIoB,eAJpB,CAAA,EAIsC,gBAJtC,CAIuD,SAJvD,EAIkE,SAJlE,CAAA;EADkE,YAAA,CAAA,MAAA,EAM/C,eAN+C,CAAA,EAM7B,eAN6B,CAMb,SANa,EAMF,SANE,CAAA;EAK9C;;;;;;;;;EAa+C,gBAAA,CAAA,QAAA,EADzD,QACyD,GAAA,IAAA,EAAA,mBAAA,CAAA,EAA7C,aAA6C,CAA/B,8BAA+B,CAAA,SAAA,EAAW,SAAX,CAAA,CAAA,CAAA,EAAA,OAAA;EAAW;;;;;;;EAc5E,mBAAA,EAAA,OAAA,EAAA;IAD6B,SAAA,YAAA,EAFR,QAEQ,GAAA,IAAA;IAMI,SAAA,UAAA,EAPd,QAOc;IAIF,SAAA,mBAAA,CAAA,EAVF,aAUE,CAT/B,8BAS+B,CATA,SASA,EATW,SASX,CAAA,CAAA;EASX,CAAA,CAAA,EAAA;IAEG,SAAA,EAAA,EAAA,IAAA;IACF,SAAA,WAAA,EAAA,SAhBY,mBAgBZ,EAAA;EAGY,CAAA,GAAA;IAAW,SAAA,EAAA,EAAA,KAAA;IAA1C,SAAA,SAAA,EAAA,SAf6B,wBAe7B,EAAA;EAD6B,CAAA;EAIvB;;;;;EA4CR,kBAAA,EAAA,WAAA,EAAA,SArDoB,mBAqDpB,EAAA,EAAA,OAAA,EAAA;IAD4B,SAAA,YAAA,EAlDL,QAkDK,GAAA,IAAA;IAGX,SAAA,UAAA,EApDI,QAoDJ;IAAjB,SAAA,UAAA,CAAA,EAAA,MAAA;IAAO,SAAA,mBAAA,CAAA,EAlDwB,aAkDxB,CAjDL,8BAiDK,CAjD0B,SAiD1B,EAjDqC,SAiDrC,CAAA,CAAA;EAeI,CAAA,CAAA,EAAA,SA7DH,sBA6D2B,EAAA;;;;ACjezC;AASA;AAIA;;;;;EAQa,0BAAc,EAAA,WAAA,EAAA,SD4ZD,mBC5ZC,EAAA,EAAA,OAAA,ED6Zd,wBC7Zc,CAAA,EAAA,MAAA;EACV;;;;;;;;AAwBjB;;;;ACnDA;;;;;;;;;;;;EAOiC,IAAA,EAAA,OAAA,EAAA;IAIjB,SAAA,GAAa,EAAA,MAAA;IACK,SAAA,mBAAA,EFwcA,aExcA,CFyc5B,8BEzc4B,CFycG,SEzcH,EFycc,SEzcd,CAAA,CAAA;EAAW,CAAA,CAAA,EF2cvC,OE3cuC,CAAA,SF2ctB,sBE3csB,EAAA,CAAA;;;;;;AAK7C;AAIA;;;AACY,UFgdK,wBAAA,CEhdL;EACyB;EAAW,SAAA,UAAA,EAAA,MAAA;EAAjC;EAAgE,SAAA,gBAAA,CAAA,EAAA,MAAA;EAAlB;;;;;;;;;;;;;;;;;;;;;;;;AN5BhD,KKUD,cAAA,GLVC,MAA0B,GAAA,WAAA,GAAA,YAAA,GAAA,QAAA,GAAA,OAAA,GAAA,OAAA,GAAA,YAAA;AAC1B,UKkBI,iBLlBqB,CAAA,CAAA,CAAA,CAAA;EACzB,KAAA,CAAA,IAAA,EKkBC,cLlBD,CAAA,EKkBkB,CLlBS;AACxC;AAEiB,UKkBA,qBAAA,CLfU;EAGV,SAAA,IAAA,EKaA,cLboB;EA2BpB,SAAA,EAAA,EAAA,MAAe;EAiCf,SAAA,KAAA,EAAA,MAAA;EAQL,SAAA,IAAA,CAAW,EKpDL,MLoDK,CAAA,MAAG,EAAA,OAAA,CAAA;EAET,SAAA,QAAA,CAAA,EAAA,SKrDc,cL8DD,EAAA;AAG9B;AAgCiB,cK9FJ,cAAA,CL8FsB;EAQlB,SAAA,IAAA,EKrGA,cLqGsB;EAiBtB,SAAA,EAAA,EAAA,MAAA;;kBKnHC;+BACa;EJrBd,WAAA,CAAA,OAAA,EIuBM,qBJvBe;EACb,MAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EI+BJ,iBJ/BI,CI+Bc,CJ/Bd,CAAA,CAAA,EI+BmB,CJ/BnB;;;;;;AAYkB,UI4B1B,cAAA,CJ5B0B;EAAtB,SAAA,IAAA,EI6BJ,cJ7BI;;;;UKvBJ,uGAGS,sBAAsB,sBAAsB,sBAClE,6BAGM,wBAAwB,WAAW;uBACtB,2BAA2B,WAAW,WAAW;;iBAGxD,0EACN,wBAAwB,WAAW,uBAChC,2BAA2B,WAAW;UAIlC;ENtBJ,YAAA,CAAA,MAAA,EMuBU,SNvBgB,CAAA,EMuBJ,cNvBI;AACvC;AACa,iBMwBG,aNxBwB,CAAA,kBAAA,MAAA,EAAA,SAAA,CAAA,CAAA,QAAA,EMyB5B,qBNzB4B,CMyBN,SNzBM,EMyBK,SNzBL,CAAA,CAAA,EAAA,QAAA,IM0BzB,qBN1ByB,CM0BH,SN1BG,EM0BQ,SN1BR,CAAA,GM0BqB,iBN1BrB,CM0BuC,SN1BvC,CAAA"}
1
+ {"version":3,"file":"control.d.mts","names":[],"sources":["../src/control-result-types.ts","../src/control-instances.ts","../src/control-stack.ts","../src/control-descriptors.ts","../src/control-migration-types.ts","../src/control-schema-view.ts","../src/control-capabilities.ts"],"sourcesContent":[],"mappings":"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"}
@@ -7,6 +7,33 @@ interface RuntimeAdapterInstance<TFamilyId extends string, TTargetId extends str
7
7
  interface RuntimeDriverInstance<TFamilyId extends string, TTargetId extends string> extends DriverInstance<TFamilyId, TTargetId> {}
8
8
  interface RuntimeExtensionInstance<TFamilyId extends string, TTargetId extends string> extends ExtensionInstance<TFamilyId, TTargetId> {}
9
9
  //#endregion
10
+ //#region src/execution-stack.d.ts
11
+ interface ExecutionStack<TFamilyId extends string, TTargetId extends string, TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId> = RuntimeAdapterInstance<TFamilyId, TTargetId>, TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<TFamilyId, TTargetId>, TExtensionInstance extends RuntimeExtensionInstance<TFamilyId, TTargetId> = RuntimeExtensionInstance<TFamilyId, TTargetId>> {
12
+ readonly target: RuntimeTargetDescriptor<TFamilyId, TTargetId>;
13
+ readonly adapter: RuntimeAdapterDescriptor<TFamilyId, TTargetId, TAdapterInstance>;
14
+ readonly driver: RuntimeDriverDescriptor<TFamilyId, TTargetId, unknown, TDriverInstance> | undefined;
15
+ readonly extensionPacks: readonly RuntimeExtensionDescriptor<TFamilyId, TTargetId, TExtensionInstance>[];
16
+ }
17
+ interface ExecutionStackInstance<TFamilyId extends string, TTargetId extends string, TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId> = RuntimeAdapterInstance<TFamilyId, TTargetId>, TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<TFamilyId, TTargetId>, TExtensionInstance extends RuntimeExtensionInstance<TFamilyId, TTargetId> = RuntimeExtensionInstance<TFamilyId, TTargetId>> {
18
+ readonly stack: ExecutionStack<TFamilyId, TTargetId, TAdapterInstance, TDriverInstance, TExtensionInstance>;
19
+ readonly target: RuntimeTargetInstance<TFamilyId, TTargetId>;
20
+ readonly adapter: TAdapterInstance;
21
+ readonly driver: TDriverInstance | undefined;
22
+ readonly extensionPacks: readonly TExtensionInstance[];
23
+ }
24
+ declare function createExecutionStack<TFamilyId extends string, TTargetId extends string, TTargetInstance extends RuntimeTargetInstance<TFamilyId, TTargetId>, TTargetDescriptor extends RuntimeTargetDescriptor<TFamilyId, TTargetId, TTargetInstance>, TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId>, TAdapterDescriptor extends RuntimeAdapterDescriptor<TFamilyId, TTargetId, TAdapterInstance>, TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<TFamilyId, TTargetId>, TDriverDescriptor extends RuntimeDriverDescriptor<TFamilyId, TTargetId, unknown, TDriverInstance> | undefined = undefined, TExtensionInstance extends RuntimeExtensionInstance<TFamilyId, TTargetId> = RuntimeExtensionInstance<TFamilyId, TTargetId>, TExtensionDescriptor extends RuntimeExtensionDescriptor<TFamilyId, TTargetId, TExtensionInstance> = never>(input: {
25
+ readonly target: TTargetDescriptor;
26
+ readonly adapter: TAdapterDescriptor;
27
+ readonly driver?: TDriverDescriptor | undefined;
28
+ readonly extensionPacks?: readonly TExtensionDescriptor[] | undefined;
29
+ }): ExecutionStack<TFamilyId, TTargetId, TAdapterInstance, TDriverInstance, TExtensionInstance> & {
30
+ readonly target: TTargetDescriptor;
31
+ readonly adapter: TAdapterDescriptor;
32
+ readonly driver: TDriverDescriptor | undefined;
33
+ readonly extensionPacks: readonly TExtensionDescriptor[];
34
+ };
35
+ declare function instantiateExecutionStack<TFamilyId extends string, TTargetId extends string, TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId>, TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId>, TExtensionInstance extends RuntimeExtensionInstance<TFamilyId, TTargetId>>(stack: ExecutionStack<TFamilyId, TTargetId, TAdapterInstance, TDriverInstance, TExtensionInstance>): ExecutionStackInstance<TFamilyId, TTargetId, TAdapterInstance, TDriverInstance, TExtensionInstance>;
36
+ //#endregion
10
37
  //#region src/execution-descriptors.d.ts
11
38
  interface RuntimeFamilyDescriptor<TFamilyId extends string, TFamilyInstance extends RuntimeFamilyInstance<TFamilyId> = RuntimeFamilyInstance<TFamilyId>> extends FamilyDescriptor<TFamilyId> {
12
39
  create<TTargetId extends string>(options: {
@@ -20,7 +47,14 @@ interface RuntimeTargetDescriptor<TFamilyId extends string, TTargetId extends st
20
47
  create(): TTargetInstance;
21
48
  }
22
49
  interface RuntimeAdapterDescriptor<TFamilyId extends string, TTargetId extends string, TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId> = RuntimeAdapterInstance<TFamilyId, TTargetId>> extends AdapterDescriptor<TFamilyId, TTargetId> {
23
- create(): TAdapterInstance;
50
+ /**
51
+ * Construct a runtime adapter instance for this execution stack.
52
+ *
53
+ * Mirrors `ControlAdapterDescriptor.create(stack)` so that adapter
54
+ * implementations may inspect stack-assembled metadata (e.g. codecs
55
+ * contributed by extension packs) when constructing the instance.
56
+ */
57
+ create(stack: ExecutionStack<TFamilyId, TTargetId>): TAdapterInstance;
24
58
  }
25
59
  interface RuntimeDriverDescriptor<TFamilyId extends string, TTargetId extends string, TCreateOptions = void, TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<TFamilyId, TTargetId>> extends DriverDescriptor<TFamilyId, TTargetId> {
26
60
  create(options?: TCreateOptions): TDriverInstance;
@@ -47,32 +81,5 @@ declare function assertRuntimeContractRequirementsSatisfied<TFamilyId extends st
47
81
  readonly extensionPacks: readonly RuntimeExtensionDescriptor<TFamilyId, TTargetId>[];
48
82
  }): void;
49
83
  //#endregion
50
- //#region src/execution-stack.d.ts
51
- interface ExecutionStack<TFamilyId extends string, TTargetId extends string, TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId> = RuntimeAdapterInstance<TFamilyId, TTargetId>, TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<TFamilyId, TTargetId>, TExtensionInstance extends RuntimeExtensionInstance<TFamilyId, TTargetId> = RuntimeExtensionInstance<TFamilyId, TTargetId>> {
52
- readonly target: RuntimeTargetDescriptor<TFamilyId, TTargetId>;
53
- readonly adapter: RuntimeAdapterDescriptor<TFamilyId, TTargetId, TAdapterInstance>;
54
- readonly driver: RuntimeDriverDescriptor<TFamilyId, TTargetId, unknown, TDriverInstance> | undefined;
55
- readonly extensionPacks: readonly RuntimeExtensionDescriptor<TFamilyId, TTargetId, TExtensionInstance>[];
56
- }
57
- interface ExecutionStackInstance<TFamilyId extends string, TTargetId extends string, TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId> = RuntimeAdapterInstance<TFamilyId, TTargetId>, TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<TFamilyId, TTargetId>, TExtensionInstance extends RuntimeExtensionInstance<TFamilyId, TTargetId> = RuntimeExtensionInstance<TFamilyId, TTargetId>> {
58
- readonly stack: ExecutionStack<TFamilyId, TTargetId, TAdapterInstance, TDriverInstance, TExtensionInstance>;
59
- readonly target: RuntimeTargetInstance<TFamilyId, TTargetId>;
60
- readonly adapter: TAdapterInstance;
61
- readonly driver: TDriverInstance | undefined;
62
- readonly extensionPacks: readonly TExtensionInstance[];
63
- }
64
- declare function createExecutionStack<TFamilyId extends string, TTargetId extends string, TTargetInstance extends RuntimeTargetInstance<TFamilyId, TTargetId>, TTargetDescriptor extends RuntimeTargetDescriptor<TFamilyId, TTargetId, TTargetInstance>, TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId>, TAdapterDescriptor extends RuntimeAdapterDescriptor<TFamilyId, TTargetId, TAdapterInstance>, TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<TFamilyId, TTargetId>, TDriverDescriptor extends RuntimeDriverDescriptor<TFamilyId, TTargetId, unknown, TDriverInstance> | undefined = undefined, TExtensionInstance extends RuntimeExtensionInstance<TFamilyId, TTargetId> = RuntimeExtensionInstance<TFamilyId, TTargetId>, TExtensionDescriptor extends RuntimeExtensionDescriptor<TFamilyId, TTargetId, TExtensionInstance> = never>(input: {
65
- readonly target: TTargetDescriptor;
66
- readonly adapter: TAdapterDescriptor;
67
- readonly driver?: TDriverDescriptor | undefined;
68
- readonly extensionPacks?: readonly TExtensionDescriptor[] | undefined;
69
- }): ExecutionStack<TFamilyId, TTargetId, TAdapterInstance, TDriverInstance, TExtensionInstance> & {
70
- readonly target: TTargetDescriptor;
71
- readonly adapter: TAdapterDescriptor;
72
- readonly driver: TDriverDescriptor | undefined;
73
- readonly extensionPacks: readonly TExtensionDescriptor[];
74
- };
75
- declare function instantiateExecutionStack<TFamilyId extends string, TTargetId extends string, TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId>, TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId>, TExtensionInstance extends RuntimeExtensionInstance<TFamilyId, TTargetId>>(stack: ExecutionStack<TFamilyId, TTargetId, TAdapterInstance, TDriverInstance, TExtensionInstance>): ExecutionStackInstance<TFamilyId, TTargetId, TAdapterInstance, TDriverInstance, TExtensionInstance>;
76
- //#endregion
77
84
  export { type ExecutionStack, type ExecutionStackInstance, type RuntimeAdapterDescriptor, type RuntimeAdapterInstance, type RuntimeDriverDescriptor, type RuntimeDriverInstance, type RuntimeExtensionDescriptor, type RuntimeExtensionInstance, type RuntimeFamilyDescriptor, type RuntimeFamilyInstance, type RuntimeTargetDescriptor, type RuntimeTargetInstance, assertRuntimeContractRequirementsSatisfied, createExecutionStack, instantiateExecutionStack };
78
85
  //# sourceMappingURL=execution.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.mts","names":[],"sources":["../src/execution-instances.ts","../src/execution-descriptors.ts","../src/execution-requirements.ts","../src/execution-stack.ts"],"sourcesContent":[],"mappings":"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GoBoC,eHpBpC,CAAA,GAAA,SAAA;EAAW,SAAA,cAAA,EAAA,SGsBA,0BHtBA,CGuBhC,SHvBgC,EGwBhC,SHxBgC,EGyBhC,kBHzBgC,CAAA,EAAA;;AAAZ,UG6BP,sBH7BO,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,EAAA,yBGgCG,sBHhCH,CGgC0B,SHhC1B,EGgCqC,SHhCrC,CAAA,GGgCkD,sBHhClD,CGiCpB,SHjCoB,EGkCpB,SHlCoB,CAAA,EAAA,wBGoCE,qBHpCF,CGoCwB,SHpCxB,EGoCmC,SHpCnC,CAAA,GGoCgD,qBHpChD,CGqCpB,SHrCoB,EGsCpB,SHtCoB,CAAA,EAAA,2BGwCK,wBHxCL,CGyCpB,SHzCoB,EG0CpB,SH1CoB,CAAA,GG2ClB,wBH3CkB,CG2CO,SH3CP,EG2CkB,SH3ClB,CAAA,CAAA,CAAA;EAEP,SAAA,KAAA,EG2CC,cH3CqB,CG4CnC,SH5CmC,EG6CnC,SH7CmC,EG8CnC,gBH9CmC,EG+CnC,eH/CmC,EGgDnC,kBHhDmC,CAAA;EACb,SAAA,MAAA,EGiDP,qBHjDO,CGiDe,SHjDf,EGiD0B,SHjD1B,CAAA;EAAW,SAAA,OAAA,EGkDjB,gBHlDiB;EAA3B,SAAA,MAAA,EGmDS,eHnDT,GAAA,SAAA;EAAe,SAAA,cAAA,EAAA,SGoDW,kBHpDX,EAAA;AAEzB;AACyB,iBGoDT,oBHpDS,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,EAAA,wBGuDC,qBHvDD,CGuDuB,SHvDvB,EGuDkC,SHvDlC,CAAA,EAAA,0BGwDG,uBHxDH,CGwD2B,SHxD3B,EGwDsC,SHxDtC,EGwDiD,eHxDjD,CAAA,EAAA,yBGyDE,sBHzDF,CGyDyB,SHzDzB,EGyDoC,SHzDpC,CAAA,EAAA,2BG0DI,wBH1DJ,CG0D6B,SH1D7B,EG0DwC,SH1DxC,EG0DmD,gBH1DnD,CAAA,EAAA,wBG2DC,qBH3DD,CG2DuB,SH3DvB,EG2DkC,SH3DlC,CAAA,GG2D+C,qBH3D/C,CG4DrB,SH5DqB,EG6DrB,SH7DqB,CAAA,EAAA,0BGgEnB,uBHhEmB,CGgEK,SHhEL,EGgEgB,SHhEhB,EAAA,OAAA,EGgEoC,eHhEpC,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,2BGkEI,wBHlEJ,CGmErB,SHnEqB,EGoErB,SHpEqB,CAAA,GGqEnB,wBHrEmB,CGqEM,SHrEN,EGqEiB,SHrEjB,CAAA,EAAA,6BGsEM,0BHtEN,CGuErB,SHvEqB,EGwErB,SHxEqB,EGyErB,kBHzEqB,CAAA,GAAA,KAAA,CAAA,CAAA,KAAA,EAAA;EAAW,SAAA,MAAA,EG4EjB,iBH5EiB;EAA1B,SAAA,OAAA,EG6EU,kBH7EV;EAAc,SAAA,MAAA,CAAA,EG8EJ,iBH9EI,GAAA,SAAA;EAEP,SAAA,cAAA,CAAA,EAAA,SG6EoB,oBH7EI,EAAA,GAAA,SAAA;CACb,CAAA,EG6ExB,cH7EwB,CG6ET,SH7ES,EG6EE,SH7EF,EG6Ea,gBH7Eb,EG6E+B,eH7E/B,EG6EgD,kBH7EhD,CAAA,GAAA;EAAW,SAAA,MAAA,EG8EpB,iBH9EoB;EAA7B,SAAA,OAAA,EG+EU,kBH/EV;EAAiB,SAAA,MAAA,EGgFR,iBHhFQ,GAAA,SAAA;oCGiFS;;iBAUpB,uGAGW,uBAAuB,WAAW,oCACnC,sBAAsB,WAAW,uCAC9B,yBAAyB,WAAW,mBAExD,eACL,WACA,WACA,kBACA,iBACA,sBAED,uBACD,WACA,WACA,kBACA,iBACA"}
1
+ {"version":3,"file":"execution.d.mts","names":[],"sources":["../src/execution-instances.ts","../src/execution-stack.ts","../src/execution-descriptors.ts","../src/execution-requirements.ts"],"sourcesContent":[],"mappings":";;;UAQiB,wDACP,eAAe;AADR,UAGA,qBAHqB,CAAA,kBACb,MAAf,EAAA,kBAAc,MAAA,CAAA,SAGd,cAHc,CAGC,SAHD,EAGY,SAHZ,CAAA,CAAA,CAExB;AACyB,UAER,sBAFQ,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,CAAA,SAGf,eAHe,CAGC,SAHD,EAGY,SAHZ,CAAA,CAAA;AAAf,UAKO,qBALP,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,CAAA,SAMA,cANA,CAMe,SANf,EAM0B,SAN1B,CAAA,CAAA;AAEO,UAMA,wBANsB,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,CAAA,SAO7B,iBAP6B,CAOX,SAPW,EAOA,SAPA,CAAA,CAAA;;;UCDtB,4FAGU,uBAAuB,WAAW,aAAa,uBACtE,WACA,oCAEsB,sBAAsB,WAAW,aAAa,sBACpE,WACA,uCAEyB,yBACzB,WACA,aACE,yBAAyB,WAAW;EDnBzB,SAAA,MAAA,ECqBE,uBDrBmB,CCqBK,SDpBlB,ECoB6B,SDpB5C,CAAA;EAEO,SAAA,OAAA,ECmBG,wBDnBkB,CCmBO,SDnBP,ECmBkB,SDnBlB,ECmB6B,gBDnB7B,CAAA;EACb,SAAA,MAAA,ECoBnB,uBDpBmB,CCoBK,SDpBL,ECoBgB,SDpBhB,EAAA,OAAA,ECoBoC,eDpBpC,CAAA,GAAA,SAAA;EAAW,SAAA,cAAA,EAAA,SCsBA,0BDtBA,CCuBhC,SDvBgC,ECwBhC,SDxBgC,ECyBhC,kBDzBgC,CAAA,EAAA;;AAAZ,UC6BP,sBD7BO,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,EAAA,yBCgCG,sBDhCH,CCgC0B,SDhC1B,ECgCqC,SDhCrC,CAAA,GCgCkD,sBDhClD,CCiCpB,SDjCoB,ECkCpB,SDlCoB,CAAA,EAAA,wBCoCE,qBDpCF,CCoCwB,SDpCxB,ECoCmC,SDpCnC,CAAA,GCoCgD,qBDpChD,CCqCpB,SDrCoB,ECsCpB,SDtCoB,CAAA,EAAA,2BCwCK,wBDxCL,CCyCpB,SDzCoB,EC0CpB,SD1CoB,CAAA,GC2ClB,wBD3CkB,CC2CO,SD3CP,EC2CkB,SD3ClB,CAAA,CAAA,CAAA;EAEP,SAAA,KAAA,EC2CC,cD3CqB,CC4CnC,SD5CmC,EC6CnC,SD7CmC,EC8CnC,gBD9CmC,EC+CnC,eD/CmC,ECgDnC,kBDhDmC,CAAA;EACb,SAAA,MAAA,ECiDP,qBDjDO,CCiDe,SDjDf,ECiD0B,SDjD1B,CAAA;EAAW,SAAA,OAAA,ECkDjB,gBDlDiB;EAA3B,SAAA,MAAA,ECmDS,eDnDT,GAAA,SAAA;EAAe,SAAA,cAAA,EAAA,SCoDW,kBDpDX,EAAA;AAEzB;AACyB,iBCoDT,oBDpDS,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,EAAA,wBCuDC,qBDvDD,CCuDuB,SDvDvB,ECuDkC,SDvDlC,CAAA,EAAA,0BCwDG,uBDxDH,CCwD2B,SDxD3B,ECwDsC,SDxDtC,ECwDiD,eDxDjD,CAAA,EAAA,yBCyDE,sBDzDF,CCyDyB,SDzDzB,ECyDoC,SDzDpC,CAAA,EAAA,2BC0DI,wBD1DJ,CC0D6B,SD1D7B,EC0DwC,SD1DxC,EC0DmD,gBD1DnD,CAAA,EAAA,wBC2DC,qBD3DD,CC2DuB,SD3DvB,EC2DkC,SD3DlC,CAAA,GC2D+C,qBD3D/C,CC4DrB,SD5DqB,EC6DrB,SD7DqB,CAAA,EAAA,0BCgEnB,uBDhEmB,CCgEK,SDhEL,ECgEgB,SDhEhB,EAAA,OAAA,ECgEoC,eDhEpC,CAAA,GAAA,SAAA,GAAA,SAAA,EAAA,2BCkEI,wBDlEJ,CCmErB,SDnEqB,ECoErB,SDpEqB,CAAA,GCqEnB,wBDrEmB,CCqEM,SDrEN,ECqEiB,SDrEjB,CAAA,EAAA,6BCsEM,0BDtEN,CCuErB,SDvEqB,ECwErB,SDxEqB,ECyErB,kBDzEqB,CAAA,GAAA,KAAA,CAAA,CAAA,KAAA,EAAA;EAAW,SAAA,MAAA,EC4EjB,iBD5EiB;EAA1B,SAAA,OAAA,EC6EU,kBD7EV;EAAc,SAAA,MAAA,CAAA,EC8EJ,iBD9EI,GAAA,SAAA;EAEP,SAAA,cAAA,CAAA,EAAA,SC6EoB,oBD7EI,EAAA,GAAA,SAAA;CACb,CAAA,EC6ExB,cD7EwB,CC6ET,SD7ES,EC6EE,SD7EF,EC6Ea,gBD7Eb,EC6E+B,eD7E/B,EC6EgD,kBD7EhD,CAAA,GAAA;EAAW,SAAA,MAAA,EC8EpB,iBD9EoB;EAA7B,SAAA,OAAA,EC+EU,kBD/EV;EAAiB,SAAA,MAAA,ECgFR,iBDhFQ,GAAA,SAAA;oCCiFS;;iBAUpB,uGAGW,uBAAuB,WAAW,oCACnC,sBAAsB,WAAW,uCAC9B,yBAAyB,WAAW,mBAExD,eACL,WACA,WACA,kBACA,iBACA,sBAED,uBACD,WACA,WACA,kBACA,iBACA;;;AD3He,UEQA,uBFRqB,CAAA,kBACb,MAAf,EAAA,wBESgB,qBFTF,CESwB,SFTxB,CAAA,GESqC,qBFTrC,CES2D,SFT3D,CAAA,CAAA,SEUd,gBFVc,CEUG,SFVH,CAAA,CAAA;EAEP,MAAA,CAAA,kBAAqB,MAAA,CAAA,CAAA,OAAA,EAAA;IACb,SAAA,MAAA,EESJ,uBFTI,CESoB,SFTpB,EES+B,SFT/B,CAAA;IAAW,SAAA,OAAA,EEUd,wBFVc,CEUW,SFVX,EEUsB,SFVtB,CAAA;IAA1B,SAAA,MAAA,EEWW,uBFXX,CEWmC,SFXnC,EEW8C,SFX9C,CAAA;IAAc,SAAA,cAAA,EAAA,SEYc,0BFZd,CEYyC,SFZzC,EEYoD,SFZpD,CAAA,EAAA;EAEP,CAAA,CAAA,EEWX,eFXW;;AACoB,UEapB,uBFboB,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,EAAA,wBEgBX,qBFhBW,CEgBW,SFhBX,EEgBsB,SFhBtB,CAAA,GEgBmC,qBFhBnC,CEiBjC,SFjBiC,EEkBjC,SFlBiC,CAAA,CAAA,SEoB3B,gBFpB2B,CEoBV,SFpBU,EEoBC,SFpBD,CAAA,CAAA;EAA3B,MAAA,EAAA,EEqBE,eFrBF;;AAEO,UEsBA,wBFtBqB,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,EAAA,yBEyBX,sBFzBW,CEyBY,SFzBZ,EEyBuB,SFzBvB,CAAA,GEyBoC,sBFzBpC,CE0BlC,SF1BkC,EE2BlC,SF3BkC,CAAA,CAAA,SE6B5B,iBF7B4B,CE6BV,SF7BU,EE6BC,SF7BD,CAAA,CAAA;EACb;;;;AAEzB;;;EACU,MAAA,CAAA,KAAA,EEiCM,cFjCN,CEiCqB,SFjCrB,EEiCgC,SFjChC,CAAA,CAAA,EEiC6C,gBFjC7C;;UEoCO,2HAIS,sBAAsB,WAAW,aAAa,sBACpE,WACA,oBAEM,iBAAiB,WAAW;mBACnB,iBAAiB;;ADrDnB,UCwDA,0BDxDc,CAAA,kBAAA,MAAA,EAAA,kBAAA,MAAA,EAAA,2BC2DF,wBD3DE,CC4D3B,SD5D2B,EC6D3B,SD7D2B,CAAA,GC8DzB,wBD9DyB,CC8DA,SD9DA,EC8DW,SD9DX,CAAA,CAAA,SC+DrB,mBD/DqB,CC+DD,SD/DC,EC+DU,SD/DV,CAAA,CAAA;EAGmB,MAAA,EAAA,EC6DtC,kBD7DsC;;;;iBERlC;;;;;;;;IHAC,SAAA,MAAA,EAAA,MAAqB;IAGrB,SAAA,cAAqB,CAAA,EGOoC,MHPpC,CAAA,MAAA,EAAA,OAAA,CAAA;EACb,CAAA;EAAW,SAAA,MAAA,EGOjB,uBHPiB,CGOO,SHPP,CAAA;EAA1B,SAAA,MAAA,EGQS,uBHRT,CGQiC,SHRjC,EGQ4C,SHR5C,CAAA;EAAc,SAAA,OAAA,EGSJ,wBHTI,CGSqB,SHTrB,EGSgC,SHThC,CAAA;EAEP,SAAA,cAAA,EAAsB,SGQH,0BHRG,CGQwB,SHRxB,EGQmC,SHRnC,CAAA,EAAA;CACb,CAAA,EAAA,IAAA"}
@@ -32,7 +32,7 @@ function instantiateExecutionStack(stack) {
32
32
  return {
33
33
  stack,
34
34
  target: stack.target.create(),
35
- adapter: stack.adapter.create(),
35
+ adapter: stack.adapter.create(stack),
36
36
  driver,
37
37
  extensionPacks: stack.extensionPacks.map((descriptor) => descriptor.create())
38
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"execution.mjs","names":[],"sources":["../src/execution-requirements.ts","../src/execution-stack.ts"],"sourcesContent":["import type {\n RuntimeAdapterDescriptor,\n RuntimeExtensionDescriptor,\n RuntimeFamilyDescriptor,\n RuntimeTargetDescriptor,\n} from './execution-descriptors';\nimport { checkContractComponentRequirements } from './framework-components';\n\nexport function assertRuntimeContractRequirementsSatisfied<\n TFamilyId extends string,\n TTargetId extends string,\n>({\n contract,\n family,\n target,\n adapter,\n extensionPacks,\n}: {\n readonly contract: { readonly target: string; readonly extensionPacks?: Record<string, unknown> };\n readonly family: RuntimeFamilyDescriptor<TFamilyId>;\n readonly target: RuntimeTargetDescriptor<TFamilyId, TTargetId>;\n readonly adapter: RuntimeAdapterDescriptor<TFamilyId, TTargetId>;\n readonly extensionPacks: readonly RuntimeExtensionDescriptor<TFamilyId, TTargetId>[];\n}): void {\n const providedComponentIds = new Set<string>([family.id, target.id, adapter.id]);\n for (const extension of extensionPacks) {\n providedComponentIds.add(extension.id);\n }\n\n const result = checkContractComponentRequirements({\n contract,\n expectedTargetId: target.targetId,\n providedComponentIds,\n });\n\n if (result.targetMismatch) {\n throw new Error(\n `Contract target '${result.targetMismatch.actual}' does not match runtime target descriptor '${result.targetMismatch.expected}'.`,\n );\n }\n\n for (const packId of result.missingExtensionPackIds) {\n throw new Error(\n `Contract requires extension pack '${packId}', but runtime descriptors do not provide a matching component.`,\n );\n }\n}\n","import type {\n RuntimeAdapterDescriptor,\n RuntimeDriverDescriptor,\n RuntimeExtensionDescriptor,\n RuntimeTargetDescriptor,\n} from './execution-descriptors';\nimport type {\n RuntimeAdapterInstance,\n RuntimeDriverInstance,\n RuntimeExtensionInstance,\n RuntimeTargetInstance,\n} from './execution-instances';\n\nexport interface ExecutionStack<\n TFamilyId extends string,\n TTargetId extends string,\n TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId> = RuntimeAdapterInstance<\n TFamilyId,\n TTargetId\n >,\n TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<\n TFamilyId,\n TTargetId\n >,\n TExtensionInstance extends RuntimeExtensionInstance<\n TFamilyId,\n TTargetId\n > = RuntimeExtensionInstance<TFamilyId, TTargetId>,\n> {\n readonly target: RuntimeTargetDescriptor<TFamilyId, TTargetId>;\n readonly adapter: RuntimeAdapterDescriptor<TFamilyId, TTargetId, TAdapterInstance>;\n readonly driver:\n | RuntimeDriverDescriptor<TFamilyId, TTargetId, unknown, TDriverInstance>\n | undefined;\n readonly extensionPacks: readonly RuntimeExtensionDescriptor<\n TFamilyId,\n TTargetId,\n TExtensionInstance\n >[];\n}\n\nexport interface ExecutionStackInstance<\n TFamilyId extends string,\n TTargetId extends string,\n TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId> = RuntimeAdapterInstance<\n TFamilyId,\n TTargetId\n >,\n TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<\n TFamilyId,\n TTargetId\n >,\n TExtensionInstance extends RuntimeExtensionInstance<\n TFamilyId,\n TTargetId\n > = RuntimeExtensionInstance<TFamilyId, TTargetId>,\n> {\n readonly stack: ExecutionStack<\n TFamilyId,\n TTargetId,\n TAdapterInstance,\n TDriverInstance,\n TExtensionInstance\n >;\n readonly target: RuntimeTargetInstance<TFamilyId, TTargetId>;\n readonly adapter: TAdapterInstance;\n readonly driver: TDriverInstance | undefined;\n readonly extensionPacks: readonly TExtensionInstance[];\n}\n\nexport function createExecutionStack<\n TFamilyId extends string,\n TTargetId extends string,\n TTargetInstance extends RuntimeTargetInstance<TFamilyId, TTargetId>,\n TTargetDescriptor extends RuntimeTargetDescriptor<TFamilyId, TTargetId, TTargetInstance>,\n TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId>,\n TAdapterDescriptor extends RuntimeAdapterDescriptor<TFamilyId, TTargetId, TAdapterInstance>,\n TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<\n TFamilyId,\n TTargetId\n >,\n TDriverDescriptor extends\n | RuntimeDriverDescriptor<TFamilyId, TTargetId, unknown, TDriverInstance>\n | undefined = undefined,\n TExtensionInstance extends RuntimeExtensionInstance<\n TFamilyId,\n TTargetId\n > = RuntimeExtensionInstance<TFamilyId, TTargetId>,\n TExtensionDescriptor extends RuntimeExtensionDescriptor<\n TFamilyId,\n TTargetId,\n TExtensionInstance\n > = never,\n>(input: {\n readonly target: TTargetDescriptor;\n readonly adapter: TAdapterDescriptor;\n readonly driver?: TDriverDescriptor | undefined;\n readonly extensionPacks?: readonly TExtensionDescriptor[] | undefined;\n}): ExecutionStack<TFamilyId, TTargetId, TAdapterInstance, TDriverInstance, TExtensionInstance> & {\n readonly target: TTargetDescriptor;\n readonly adapter: TAdapterDescriptor;\n readonly driver: TDriverDescriptor | undefined;\n readonly extensionPacks: readonly TExtensionDescriptor[];\n} {\n return {\n target: input.target,\n adapter: input.adapter,\n driver: input.driver,\n extensionPacks: input.extensionPacks ?? [],\n };\n}\n\nexport function instantiateExecutionStack<\n TFamilyId extends string,\n TTargetId extends string,\n TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId>,\n TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId>,\n TExtensionInstance extends RuntimeExtensionInstance<TFamilyId, TTargetId>,\n>(\n stack: ExecutionStack<\n TFamilyId,\n TTargetId,\n TAdapterInstance,\n TDriverInstance,\n TExtensionInstance\n >,\n): ExecutionStackInstance<\n TFamilyId,\n TTargetId,\n TAdapterInstance,\n TDriverInstance,\n TExtensionInstance\n> {\n const driver = stack.driver ? stack.driver.create() : undefined;\n\n return {\n stack,\n target: stack.target.create(),\n adapter: stack.adapter.create(),\n driver,\n extensionPacks: stack.extensionPacks.map((descriptor) => descriptor.create()),\n };\n}\n"],"mappings":";;;AAQA,SAAgB,2CAGd,EACA,UACA,QACA,QACA,SACA,kBAOO;CACP,MAAM,uBAAuB,IAAI,IAAY;EAAC,OAAO;EAAI,OAAO;EAAI,QAAQ;EAAG,CAAC;AAChF,MAAK,MAAM,aAAa,eACtB,sBAAqB,IAAI,UAAU,GAAG;CAGxC,MAAM,SAAS,mCAAmC;EAChD;EACA,kBAAkB,OAAO;EACzB;EACD,CAAC;AAEF,KAAI,OAAO,eACT,OAAM,IAAI,MACR,oBAAoB,OAAO,eAAe,OAAO,8CAA8C,OAAO,eAAe,SAAS,IAC/H;AAGH,MAAK,MAAM,UAAU,OAAO,wBAC1B,OAAM,IAAI,MACR,qCAAqC,OAAO,iEAC7C;;;;;AC0BL,SAAgB,qBAuBd,OAUA;AACA,QAAO;EACL,QAAQ,MAAM;EACd,SAAS,MAAM;EACf,QAAQ,MAAM;EACd,gBAAgB,MAAM,kBAAkB,EAAE;EAC3C;;AAGH,SAAgB,0BAOd,OAaA;CACA,MAAM,SAAS,MAAM,SAAS,MAAM,OAAO,QAAQ,GAAG;AAEtD,QAAO;EACL;EACA,QAAQ,MAAM,OAAO,QAAQ;EAC7B,SAAS,MAAM,QAAQ,QAAQ;EAC/B;EACA,gBAAgB,MAAM,eAAe,KAAK,eAAe,WAAW,QAAQ,CAAC;EAC9E"}
1
+ {"version":3,"file":"execution.mjs","names":[],"sources":["../src/execution-requirements.ts","../src/execution-stack.ts"],"sourcesContent":["import type {\n RuntimeAdapterDescriptor,\n RuntimeExtensionDescriptor,\n RuntimeFamilyDescriptor,\n RuntimeTargetDescriptor,\n} from './execution-descriptors';\nimport { checkContractComponentRequirements } from './framework-components';\n\nexport function assertRuntimeContractRequirementsSatisfied<\n TFamilyId extends string,\n TTargetId extends string,\n>({\n contract,\n family,\n target,\n adapter,\n extensionPacks,\n}: {\n readonly contract: { readonly target: string; readonly extensionPacks?: Record<string, unknown> };\n readonly family: RuntimeFamilyDescriptor<TFamilyId>;\n readonly target: RuntimeTargetDescriptor<TFamilyId, TTargetId>;\n readonly adapter: RuntimeAdapterDescriptor<TFamilyId, TTargetId>;\n readonly extensionPacks: readonly RuntimeExtensionDescriptor<TFamilyId, TTargetId>[];\n}): void {\n const providedComponentIds = new Set<string>([family.id, target.id, adapter.id]);\n for (const extension of extensionPacks) {\n providedComponentIds.add(extension.id);\n }\n\n const result = checkContractComponentRequirements({\n contract,\n expectedTargetId: target.targetId,\n providedComponentIds,\n });\n\n if (result.targetMismatch) {\n throw new Error(\n `Contract target '${result.targetMismatch.actual}' does not match runtime target descriptor '${result.targetMismatch.expected}'.`,\n );\n }\n\n for (const packId of result.missingExtensionPackIds) {\n throw new Error(\n `Contract requires extension pack '${packId}', but runtime descriptors do not provide a matching component.`,\n );\n }\n}\n","import type {\n RuntimeAdapterDescriptor,\n RuntimeDriverDescriptor,\n RuntimeExtensionDescriptor,\n RuntimeTargetDescriptor,\n} from './execution-descriptors';\nimport type {\n RuntimeAdapterInstance,\n RuntimeDriverInstance,\n RuntimeExtensionInstance,\n RuntimeTargetInstance,\n} from './execution-instances';\n\nexport interface ExecutionStack<\n TFamilyId extends string,\n TTargetId extends string,\n TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId> = RuntimeAdapterInstance<\n TFamilyId,\n TTargetId\n >,\n TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<\n TFamilyId,\n TTargetId\n >,\n TExtensionInstance extends RuntimeExtensionInstance<\n TFamilyId,\n TTargetId\n > = RuntimeExtensionInstance<TFamilyId, TTargetId>,\n> {\n readonly target: RuntimeTargetDescriptor<TFamilyId, TTargetId>;\n readonly adapter: RuntimeAdapterDescriptor<TFamilyId, TTargetId, TAdapterInstance>;\n readonly driver:\n | RuntimeDriverDescriptor<TFamilyId, TTargetId, unknown, TDriverInstance>\n | undefined;\n readonly extensionPacks: readonly RuntimeExtensionDescriptor<\n TFamilyId,\n TTargetId,\n TExtensionInstance\n >[];\n}\n\nexport interface ExecutionStackInstance<\n TFamilyId extends string,\n TTargetId extends string,\n TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId> = RuntimeAdapterInstance<\n TFamilyId,\n TTargetId\n >,\n TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<\n TFamilyId,\n TTargetId\n >,\n TExtensionInstance extends RuntimeExtensionInstance<\n TFamilyId,\n TTargetId\n > = RuntimeExtensionInstance<TFamilyId, TTargetId>,\n> {\n readonly stack: ExecutionStack<\n TFamilyId,\n TTargetId,\n TAdapterInstance,\n TDriverInstance,\n TExtensionInstance\n >;\n readonly target: RuntimeTargetInstance<TFamilyId, TTargetId>;\n readonly adapter: TAdapterInstance;\n readonly driver: TDriverInstance | undefined;\n readonly extensionPacks: readonly TExtensionInstance[];\n}\n\nexport function createExecutionStack<\n TFamilyId extends string,\n TTargetId extends string,\n TTargetInstance extends RuntimeTargetInstance<TFamilyId, TTargetId>,\n TTargetDescriptor extends RuntimeTargetDescriptor<TFamilyId, TTargetId, TTargetInstance>,\n TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId>,\n TAdapterDescriptor extends RuntimeAdapterDescriptor<TFamilyId, TTargetId, TAdapterInstance>,\n TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId> = RuntimeDriverInstance<\n TFamilyId,\n TTargetId\n >,\n TDriverDescriptor extends\n | RuntimeDriverDescriptor<TFamilyId, TTargetId, unknown, TDriverInstance>\n | undefined = undefined,\n TExtensionInstance extends RuntimeExtensionInstance<\n TFamilyId,\n TTargetId\n > = RuntimeExtensionInstance<TFamilyId, TTargetId>,\n TExtensionDescriptor extends RuntimeExtensionDescriptor<\n TFamilyId,\n TTargetId,\n TExtensionInstance\n > = never,\n>(input: {\n readonly target: TTargetDescriptor;\n readonly adapter: TAdapterDescriptor;\n readonly driver?: TDriverDescriptor | undefined;\n readonly extensionPacks?: readonly TExtensionDescriptor[] | undefined;\n}): ExecutionStack<TFamilyId, TTargetId, TAdapterInstance, TDriverInstance, TExtensionInstance> & {\n readonly target: TTargetDescriptor;\n readonly adapter: TAdapterDescriptor;\n readonly driver: TDriverDescriptor | undefined;\n readonly extensionPacks: readonly TExtensionDescriptor[];\n} {\n return {\n target: input.target,\n adapter: input.adapter,\n driver: input.driver,\n extensionPacks: input.extensionPacks ?? [],\n };\n}\n\nexport function instantiateExecutionStack<\n TFamilyId extends string,\n TTargetId extends string,\n TAdapterInstance extends RuntimeAdapterInstance<TFamilyId, TTargetId>,\n TDriverInstance extends RuntimeDriverInstance<TFamilyId, TTargetId>,\n TExtensionInstance extends RuntimeExtensionInstance<TFamilyId, TTargetId>,\n>(\n stack: ExecutionStack<\n TFamilyId,\n TTargetId,\n TAdapterInstance,\n TDriverInstance,\n TExtensionInstance\n >,\n): ExecutionStackInstance<\n TFamilyId,\n TTargetId,\n TAdapterInstance,\n TDriverInstance,\n TExtensionInstance\n> {\n const driver = stack.driver ? stack.driver.create() : undefined;\n\n return {\n stack,\n target: stack.target.create(),\n adapter: stack.adapter.create(stack),\n driver,\n extensionPacks: stack.extensionPacks.map((descriptor) => descriptor.create()),\n };\n}\n"],"mappings":";;;AAQA,SAAgB,2CAGd,EACA,UACA,QACA,QACA,SACA,kBAOO;CACP,MAAM,uBAAuB,IAAI,IAAY;EAAC,OAAO;EAAI,OAAO;EAAI,QAAQ;EAAG,CAAC;AAChF,MAAK,MAAM,aAAa,eACtB,sBAAqB,IAAI,UAAU,GAAG;CAGxC,MAAM,SAAS,mCAAmC;EAChD;EACA,kBAAkB,OAAO;EACzB;EACD,CAAC;AAEF,KAAI,OAAO,eACT,OAAM,IAAI,MACR,oBAAoB,OAAO,eAAe,OAAO,8CAA8C,OAAO,eAAe,SAAS,IAC/H;AAGH,MAAK,MAAM,UAAU,OAAO,wBAC1B,OAAM,IAAI,MACR,qCAAqC,OAAO,iEAC7C;;;;;AC0BL,SAAgB,qBAuBd,OAUA;AACA,QAAO;EACL,QAAQ,MAAM;EACd,SAAS,MAAM;EACf,QAAQ,MAAM;EACd,gBAAgB,MAAM,kBAAkB,EAAE;EAC3C;;AAGH,SAAgB,0BAOd,OAaA;CACA,MAAM,SAAS,MAAM,SAAS,MAAM,OAAO,QAAQ,GAAG;AAEtD,QAAO;EACL;EACA,QAAQ,MAAM,OAAO,QAAQ;EAC7B,SAAS,MAAM,QAAQ,OAAO,MAAM;EACpC;EACA,gBAAgB,MAAM,eAAe,KAAK,eAAe,WAAW,QAAQ,CAAC;EAC9E"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@prisma-next/framework-components",
3
- "version": "0.4.0-dev.9",
3
+ "version": "0.5.0-dev.1",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "Framework component types, assembly logic, and stack creation for Prisma Next",
7
7
  "dependencies": {
8
- "@prisma-next/operations": "0.4.0-dev.9",
9
- "@prisma-next/contract": "0.4.0-dev.9",
10
- "@prisma-next/utils": "0.4.0-dev.9"
8
+ "@prisma-next/contract": "0.5.0-dev.1",
9
+ "@prisma-next/operations": "0.5.0-dev.1",
10
+ "@prisma-next/utils": "0.5.0-dev.1"
11
11
  },
12
12
  "devDependencies": {
13
13
  "tsdown": "0.18.4",
@@ -45,7 +45,14 @@ export interface ControlAdapterDescriptor<
45
45
  TTargetId
46
46
  >,
47
47
  > extends AdapterDescriptor<TFamilyId, TTargetId> {
48
- create(): TAdapterInstance;
48
+ /**
49
+ * Construct a control adapter instance for this stack.
50
+ *
51
+ * The `stack` argument mirrors `ControlFamilyDescriptor.create(stack)`:
52
+ * adapter implementations may inspect `stack.codecLookup`, extension packs,
53
+ * or other assembled metadata when constructing the instance.
54
+ */
55
+ create(stack: ControlStack<TFamilyId, TTargetId>): TAdapterInstance;
49
56
  }
50
57
 
51
58
  export interface ControlDriverDescriptor<
@@ -94,16 +94,6 @@ export interface MigrationOperationPolicy {
94
94
  // Plan Types (Display-Oriented)
95
95
  // ============================================================================
96
96
 
97
- /**
98
- * Minimal shape for operation descriptors at the framework level.
99
- * Targets produce richer types; this captures just enough for the
100
- * framework to scaffold migration.ts files and pass descriptors through.
101
- */
102
- export interface OperationDescriptor {
103
- readonly kind: string;
104
- readonly [key: string]: unknown;
105
- }
106
-
107
97
  /**
108
98
  * A single migration operation for display purposes.
109
99
  * Contains only the fields needed for CLI output (tree view, JSON envelope).
@@ -117,6 +107,24 @@ export interface MigrationPlanOperation {
117
107
  readonly operationClass: MigrationOperationClass;
118
108
  }
119
109
 
110
+ // ============================================================================
111
+ // Planner IR — Op Factory Calls
112
+ // ============================================================================
113
+
114
+ /**
115
+ * Framework-level contract for a single factory call in a target's planner IR.
116
+ *
117
+ * @see ADR 195
118
+ */
119
+ export interface OpFactoryCall {
120
+ /** The name of the factory that would produce this call's runtime op. */
121
+ readonly factoryName: string;
122
+ /** The operation's safety class (additive, widening, destructive, data). */
123
+ readonly operationClass: MigrationOperationClass;
124
+ /** Human-readable label for CLI output and diagnostics. */
125
+ readonly label: string;
126
+ }
127
+
120
128
  // ============================================================================
121
129
  // Plan Types (Display-Oriented)
122
130
  // ============================================================================
@@ -153,14 +161,8 @@ export interface MigrationPlan {
153
161
  * - hand the plan to the runner for execution (via `MigrationPlan`), and
154
162
  * - materialize the plan as an editable source file via `renderTypeScript()`.
155
163
  *
156
- * User-authored migrations (class-flow `Migration` subclasses) satisfy
157
- * `MigrationPlan` but not this interface: they are already the source.
158
- *
159
- * Descriptor-flow targets (e.g. Postgres) that do not materialize their
160
- * planner plans back to TypeScript provide a throwing stub so that
161
- * `MigrationPlannerSuccessResult.plan` has a uniform type at the framework
162
- * level. In practice the CLI only calls `renderTypeScript()` in the
163
- * class-flow branch of `migration plan`.
164
+ * User-authored migrations (`Migration` subclasses) satisfy `MigrationPlan`
165
+ * but not this interface: they are already the source.
164
166
  */
165
167
  export interface MigrationPlanWithAuthoringSurface extends MigrationPlan {
166
168
  /**
@@ -191,10 +193,7 @@ export interface MigrationPlannerConflict {
191
193
  * Successful planner result with the migration plan.
192
194
  *
193
195
  * The plan is typed as `MigrationPlanWithAuthoringSurface` so the CLI can
194
- * uniformly ask any plan to render itself to TypeScript. Targets whose
195
- * planners do not support that (descriptor-flow targets like Postgres)
196
- * supply a throwing `renderTypeScript()` stub — the CLI only calls it in
197
- * the class-flow branch of `migration plan`.
196
+ * uniformly ask any plan to render itself to TypeScript.
198
197
  */
199
198
  export interface MigrationPlannerSuccessResult {
200
199
  readonly kind: 'success';
@@ -292,11 +291,19 @@ export interface MigrationPlanner<
292
291
  readonly policy: MigrationOperationPolicy;
293
292
  /**
294
293
  * Storage hash of the "from" contract (the state the planner assumes the
295
- * database starts at). Class-flow planners use this to populate
296
- * `describe()` on the produced plan so the rendered `migration.ts` has
297
- * correct `from`/`to` metadata.
294
+ * database starts at). Planners use this to populate `describe()` on the
295
+ * produced plan so the rendered `migration.ts` has correct `from`/`to`
296
+ * metadata.
298
297
  */
299
298
  readonly fromHash: string;
299
+ /**
300
+ * The "from" contract (the state the planner assumes the database starts
301
+ * at). Planners pass this to data-safety strategies so they can compare
302
+ * `from` and `to` column shapes (e.g. to detect unsafe type changes).
303
+ * `db update` / `db init` reconcile against the live schema and have no
304
+ * "from" contract; only `migration plan` provides one.
305
+ */
306
+ readonly fromContract?: unknown;
300
307
  /**
301
308
  * Active framework components participating in this composition.
302
309
  * Families/targets can interpret this list to derive family-specific metadata.
@@ -310,10 +317,9 @@ export interface MigrationPlanner<
310
317
  /**
311
318
  * Produce an empty migration with the target's authoring conventions.
312
319
  *
313
- * Used by `migration new` to scaffold a fresh `migration.ts` without the
314
- * CLI needing to know whether the target uses descriptor-flow or class-flow
315
- * authoring. The returned plan has no operations; its `renderTypeScript()`
316
- * yields a stub the user can edit.
320
+ * Used by `migration new` to scaffold a fresh `migration.ts`. The
321
+ * returned plan has no operations; its `renderTypeScript()` yields a
322
+ * stub the user can edit.
317
323
  */
318
324
  emptyMigration(context: MigrationScaffoldContext): MigrationPlanWithAuthoringSurface;
319
325
  }
@@ -389,92 +395,6 @@ export interface TargetMigrationsCapability<
389
395
  contract: Contract | null,
390
396
  frameworkComponents?: ReadonlyArray<TargetBoundComponentDescriptor<TFamilyId, TTargetId>>,
391
397
  ): unknown;
392
-
393
- /**
394
- * Plans a migration using the descriptor-based planner.
395
- * Returns operation descriptors that the caller scaffolds into a
396
- * `migration.ts` file. Whether the resulting migration can be emitted
397
- * end-to-end is determined at emit time (via `placeholder()` errors
398
- * thrown for unfilled slots), not by the planner.
399
- */
400
- planWithDescriptors?(context: {
401
- readonly fromContract: Contract | null;
402
- readonly toContract: Contract;
403
- readonly frameworkComponents?: ReadonlyArray<
404
- TargetBoundComponentDescriptor<TFamilyId, TTargetId>
405
- >;
406
- }):
407
- | {
408
- readonly ok: true;
409
- readonly descriptors: readonly OperationDescriptor[];
410
- }
411
- | {
412
- readonly ok: false;
413
- readonly conflicts: readonly MigrationPlannerConflict[];
414
- };
415
-
416
- /**
417
- * Resolves operation descriptors into target-specific migration plan operations
418
- * with SQL/DDL, prechecks, and postchecks. Called by `migration emit` to
419
- * serialize migration.ts into ops.json.
420
- */
421
- resolveDescriptors?(
422
- descriptors: readonly OperationDescriptor[],
423
- context: {
424
- readonly fromContract: Contract | null;
425
- readonly toContract: Contract;
426
- readonly schemaName?: string;
427
- readonly frameworkComponents?: ReadonlyArray<
428
- TargetBoundComponentDescriptor<TFamilyId, TTargetId>
429
- >;
430
- },
431
- ): readonly MigrationPlanOperation[];
432
-
433
- /**
434
- * Optional: render a descriptor list back to a populated `migration.ts`
435
- * source string.
436
- *
437
- * Descriptor-flow targets (e.g. Postgres) implement this so that
438
- * `migration plan` can hand the user an editable authoring surface that
439
- * already captures the planner's decisions. Class-flow targets do not
440
- * implement it — their planner already returns a renderable plan via
441
- * `MigrationPlannerSuccessResult.plan.renderTypeScript()`.
442
- */
443
- renderDescriptorTypeScript?(
444
- descriptors: readonly OperationDescriptor[],
445
- context: MigrationScaffoldContext,
446
- ): string;
447
-
448
- /**
449
- * Optional: in-process emit capability for class-flow migration files.
450
- *
451
- * Targets that author `migration.ts` as an executable class (rather than
452
- * an array of descriptors) implement `emit` to produce `ops.json` from
453
- * the source file directly. The framework dispatches to `emit` whenever
454
- * `resolveDescriptors` is not present on the target.
455
- *
456
- * The capability runs in the same Node process as the CLI:
457
- * - The target dynamically imports `<dir>/migration.ts`, locates the
458
- * authored class on the module's default export, and invokes whatever
459
- * runtime machinery it needs to obtain the operations list.
460
- * - Structured errors thrown during evaluation (notably
461
- * `errorUnfilledPlaceholder` with code `PN-MIG-2001`) propagate as
462
- * real JS exceptions so the CLI's normal error envelope can render
463
- * them with full structured metadata. No subprocess is spawned.
464
- * - The target is responsible for calling `writeMigrationOps(dir, ops)`
465
- * so that `ops.json` ends up on disk before `emit` returns. The
466
- * framework's `emitMigration` helper is the single owner of
467
- * `attestMigration(dir)` — the target MUST NOT call
468
- * `attestMigration` itself.
469
- * - The returned `MigrationPlanOperation[]` is the display-oriented
470
- * shape the CLI uses for output (id, label, operationClass).
471
- */
472
- emit?(options: {
473
- readonly dir: string;
474
- readonly frameworkComponents: ReadonlyArray<
475
- TargetBoundComponentDescriptor<TFamilyId, TTargetId>
476
- >;
477
- }): Promise<readonly MigrationPlanOperation[]>;
478
398
  }
479
399
 
480
400
  // ============================================================================
@@ -486,8 +406,7 @@ export interface TargetMigrationsCapability<
486
406
  *
487
407
  * Kept minimal: only the paths a target might need to compute relative imports
488
408
  * (e.g. the contract `.d.ts` import for typed-contract builders). Passed to
489
- * `MigrationPlanner.emptyMigration(context)` and to
490
- * `TargetMigrationsCapability.renderDescriptorTypeScript(descriptors, context)`.
409
+ * `MigrationPlanner.emptyMigration(context)`.
491
410
  */
492
411
  export interface MigrationScaffoldContext {
493
412
  /** Absolute path to the migration package directory. Used by targets to compute relative imports. */
@@ -495,9 +414,9 @@ export interface MigrationScaffoldContext {
495
414
  /** Absolute path to the contract.json file, if one exists. Used by targets that emit typed-contract imports. */
496
415
  readonly contractJsonPath?: string;
497
416
  /**
498
- * Storage hash of the "from" contract. Class-flow targets (e.g. Mongo) use
499
- * this to populate `describe()` on the rendered empty migration so that
500
- * `migration.json` generated at emit time has correct identity metadata.
417
+ * Storage hash of the "from" contract. Targets use this to populate
418
+ * `describe()` on the rendered empty migration so that identity metadata
419
+ * is correctly populated.
501
420
  */
502
421
  readonly fromHash: string;
503
422
  /**
@@ -5,6 +5,7 @@ import type {
5
5
  RuntimeFamilyInstance,
6
6
  RuntimeTargetInstance,
7
7
  } from './execution-instances';
8
+ import type { ExecutionStack } from './execution-stack';
8
9
  import type {
9
10
  AdapterDescriptor,
10
11
  DriverDescriptor,
@@ -44,7 +45,14 @@ export interface RuntimeAdapterDescriptor<
44
45
  TTargetId
45
46
  >,
46
47
  > extends AdapterDescriptor<TFamilyId, TTargetId> {
47
- create(): TAdapterInstance;
48
+ /**
49
+ * Construct a runtime adapter instance for this execution stack.
50
+ *
51
+ * Mirrors `ControlAdapterDescriptor.create(stack)` so that adapter
52
+ * implementations may inspect stack-assembled metadata (e.g. codecs
53
+ * contributed by extension packs) when constructing the instance.
54
+ */
55
+ create(stack: ExecutionStack<TFamilyId, TTargetId>): TAdapterInstance;
48
56
  }
49
57
 
50
58
  export interface RuntimeDriverDescriptor<
@@ -136,7 +136,7 @@ export function instantiateExecutionStack<
136
136
  return {
137
137
  stack,
138
138
  target: stack.target.create(),
139
- adapter: stack.adapter.create(),
139
+ adapter: stack.adapter.create(stack),
140
140
  driver,
141
141
  extensionPacks: stack.extensionPacks.map((descriptor) => descriptor.create()),
142
142
  };
@@ -32,7 +32,7 @@ export type {
32
32
  MigrationRunnerResult,
33
33
  MigrationRunnerSuccessValue,
34
34
  MigrationScaffoldContext,
35
- OperationDescriptor,
35
+ OpFactoryCall,
36
36
  SerializedQueryPlan,
37
37
  TargetMigrationsCapability,
38
38
  } from '../control-migration-types';