@prisma-next/framework-components 0.4.0-dev.5 → 0.4.0-dev.7

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"}
@@ -383,6 +383,31 @@ interface MigrationPlan {
383
383
  /** Ordered list of operations to execute. */
384
384
  readonly operations: readonly MigrationPlanOperation[];
385
385
  }
386
+ /**
387
+ * A migration plan that can also render itself back to user-editable
388
+ * TypeScript source (a `migration.ts` file).
389
+ *
390
+ * Planners produce this richer shape so that CLI commands can both:
391
+ * - hand the plan to the runner for execution (via `MigrationPlan`), and
392
+ * - materialize the plan as an editable source file via `renderTypeScript()`.
393
+ *
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`.
402
+ */
403
+ interface MigrationPlanWithAuthoringSurface extends MigrationPlan {
404
+ /**
405
+ * Render this plan back to TypeScript source suitable for writing to
406
+ * `migration.ts`. Output may start with a shebang; when it does, the caller
407
+ * should make the resulting file executable.
408
+ */
409
+ renderTypeScript(): string;
410
+ }
386
411
  /**
387
412
  * A conflict detected during migration planning.
388
413
  */
@@ -396,10 +421,16 @@ interface MigrationPlannerConflict {
396
421
  }
397
422
  /**
398
423
  * Successful planner result with the migration plan.
424
+ *
425
+ * 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`.
399
430
  */
400
431
  interface MigrationPlannerSuccessResult {
401
432
  readonly kind: 'success';
402
- readonly plan: MigrationPlan;
433
+ readonly plan: MigrationPlanWithAuthoringSurface;
403
434
  }
404
435
  /**
405
436
  * Failed planner result with the list of conflicts.
@@ -469,6 +500,13 @@ interface MigrationPlanner<TFamilyId extends string = string, TTargetId extends
469
500
  readonly contract: unknown;
470
501
  readonly schema: unknown;
471
502
  readonly policy: MigrationOperationPolicy;
503
+ /**
504
+ * 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.
508
+ */
509
+ readonly fromHash: string;
472
510
  /**
473
511
  * Active framework components participating in this composition.
474
512
  * Families/targets can interpret this list to derive family-specific metadata.
@@ -476,6 +514,15 @@ interface MigrationPlanner<TFamilyId extends string = string, TTargetId extends
476
514
  */
477
515
  readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<TFamilyId, TTargetId>>;
478
516
  }): MigrationPlannerResult;
517
+ /**
518
+ * Produce an empty migration with the target's authoring conventions.
519
+ *
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.
524
+ */
525
+ emptyMigration(context: MigrationScaffoldContext): MigrationPlanWithAuthoringSurface;
479
526
  }
480
527
  /**
481
528
  * Migration runner interface for executing migration plans.
@@ -530,8 +577,10 @@ interface TargetMigrationsCapability<TFamilyId extends string = string, TTargetI
530
577
  contractToSchema(contract: Contract | null, frameworkComponents?: ReadonlyArray<TargetBoundComponentDescriptor<TFamilyId, TTargetId>>): unknown;
531
578
  /**
532
579
  * Plans a migration using the descriptor-based planner.
533
- * Returns operation descriptors and whether data migration is needed.
534
- * The caller decides whether to resolve immediately or scaffold migration.ts.
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.
535
584
  */
536
585
  planWithDescriptors?(context: {
537
586
  readonly fromContract: Contract | null;
@@ -540,14 +589,13 @@ interface TargetMigrationsCapability<TFamilyId extends string = string, TTargetI
540
589
  }): {
541
590
  readonly ok: true;
542
591
  readonly descriptors: readonly OperationDescriptor[];
543
- readonly needsDataMigration: boolean;
544
592
  } | {
545
593
  readonly ok: false;
546
594
  readonly conflicts: readonly MigrationPlannerConflict[];
547
595
  };
548
596
  /**
549
597
  * Resolves operation descriptors into target-specific migration plan operations
550
- * with SQL/DDL, prechecks, and postchecks. Called by `migration verify` to
598
+ * with SQL/DDL, prechecks, and postchecks. Called by `migration emit` to
551
599
  * serialize migration.ts into ops.json.
552
600
  */
553
601
  resolveDescriptors?(descriptors: readonly OperationDescriptor[], context: {
@@ -556,6 +604,71 @@ interface TargetMigrationsCapability<TFamilyId extends string = string, TTargetI
556
604
  readonly schemaName?: string;
557
605
  readonly frameworkComponents?: ReadonlyArray<TargetBoundComponentDescriptor<TFamilyId, TTargetId>>;
558
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
+ }
647
+ /**
648
+ * Context for rendering migration source files.
649
+ *
650
+ * Kept minimal: only the paths a target might need to compute relative imports
651
+ * (e.g. the contract `.d.ts` import for typed-contract builders). Passed to
652
+ * `MigrationPlanner.emptyMigration(context)` and to
653
+ * `TargetMigrationsCapability.renderDescriptorTypeScript(descriptors, context)`.
654
+ */
655
+ interface MigrationScaffoldContext {
656
+ /** Absolute path to the migration package directory. Used by targets to compute relative imports. */
657
+ readonly packageDir: string;
658
+ /** Absolute path to the contract.json file, if one exists. Used by targets that emit typed-contract imports. */
659
+ readonly contractJsonPath?: string;
660
+ /**
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.
664
+ */
665
+ readonly fromHash: string;
666
+ /**
667
+ * Storage hash of the "to" contract. Same purpose as `fromHash` — threaded
668
+ * through so the rendered class's `describe()` declares the correct
669
+ * destination identity.
670
+ */
671
+ readonly toHash: string;
559
672
  }
560
673
  //#endregion
561
674
  //#region src/control-schema-view.d.ts
@@ -606,5 +719,5 @@ interface SchemaViewCapable<TSchemaIR = unknown> {
606
719
  }
607
720
  declare function hasSchemaView<TFamilyId extends string, TSchemaIR>(instance: ControlFamilyInstance<TFamilyId, TSchemaIR>): instance is ControlFamilyInstance<TFamilyId, TSchemaIR> & SchemaViewCapable<TSchemaIR>;
608
721
  //#endregion
609
- 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 MigrationPlanner, type MigrationPlannerConflict, type MigrationPlannerFailureResult, type MigrationPlannerResult, type MigrationPlannerSuccessResult, type MigrationRunner, type MigrationRunnerExecutionChecks, type MigrationRunnerFailure, type MigrationRunnerResult, type MigrationRunnerSuccessValue, 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 };
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 };
610
723
  //# 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":"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"}
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,EAAA,MAAG;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,EAAA,kBAAsB,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 +1 @@
1
- {"version":3,"file":"framework-authoring-D1-JZ37B.d.mts","names":[],"sources":["../src/framework-authoring.ts"],"sourcesContent":[],"mappings":";KAEY,eAAA;EAAA,SAAA,IAAA,EAAA,KAAe;EAOf,SAAA,KAAA,EAAA,MAAA;EAKR,SAAA,IAAA,CAAA,EAAA,SAAA,MAAA,EAAA;EACS,SAAA,OAAA,CAAA,EATQ,sBASR;CACiB;AAAsB,KAPxC,sBAAA,GAOwC,MAAA,GAAA,MAAA,GAAA,OAAA,GAAA,IAAA,GAFhD,eAEgD,GAAA,SADvC,sBACuC,EAAA,GAAA;EAE1C,UAAA,GAAA,EAAA,MAAA,CAAA,EAFoB,sBAEa;AAK3C,CAAA;UALU,iCAAA,CAKgC;EAYE,SAAA,IAAA,CAAA,EAAA,MAAA;EAAf,SAAA,QAAA,CAAA,EAAA,OAAA;;AAIZ,KAhBL,2BAAA,GAA8B,iCAgBG,GAAA,CAAA;EAEtB,SAAA,IAAA,EAAA,QAAA;CACgB,GAAA;EAAf,SAAA,IAAA,EAAA,QAAA;EAAM,SAAA,OAAA,CAAA,EAAA,OAAA;EAGb,SAAA,OAAA,CAAA,EAAA,MAAA;EAMA,SAAA,OAAA,CAAA,EAAA,MAAA;AAKjB,CAAA,GAAiB;EAKL,SAAA,IAAA,EAAA,aAAA;AAIZ,CAAA,GAAiB;EAEI,SAAA,IAAA,EAAA,QAAA;EACS,SAAA,UAAA,EAjCD,MAiCC,CAAA,MAAA,EAjCc,2BAiCd,CAAA;CAHsB,CAAA;AAA4B,UA1B/D,4BAAA,CA0B+D;EAQ/D,SAAA,OAAA,EAAA,MAAA;EAML,SAAA,UAAA,EAtCW,sBAuCI;EAGf,SAAA,UAAA,CAAA,EAzCY,MAyCW,CAAA,MAAA,EAzCI,sBA0CZ,CAAA;AAG3B;AAKgB,UA/CC,kCAAA,CA+C2C;EAkB5C,SAAA,IAAA,EAAA,iBAAA;EAYA,SAAA,IAAA,CAAA,EAAA,SA3EW,2BA6Ef,EAAA;EAUI,SAAA,MAAA,EAtFG,4BAuFP;AA2GZ;AAuFgB,UAtRC,qCAAA,CAuRH;EAUE,SAAA,IAAA,EAAA,SAAA;kBA/RE;;UAGD,sCAAA;;uBAEM;;KAGX,8BAAA,GACR,wCACA;UAEa,0BAAA,SAAmC;;qBAE/B;8BACS;;;;UAKb,8BAAA;;2BAEU;mBACR;;KAGP,sBAAA;2BACe,qCAAqC;;KAGpD,uBAAA;2BACe,iCAAiC;;UAG3C,sBAAA;kBACC;mBACC;;iBAGH,iBAAA,2BAA4C;iBAkB5C,oCAAA,2BAEJ;iBAUI,gCAAA,2BAEJ;iBAUI,6BAAA,WACJ;iBA2GI,gCAAA,2CAEQ;iBAqFR,mCAAA,aACF;;;wBAKU;;iBAKR,+BAAA,aACF;;;;0BAMY"}
1
+ {"version":3,"file":"framework-authoring-D1-JZ37B.d.mts","names":[],"sources":["../src/framework-authoring.ts"],"sourcesContent":[],"mappings":";KAEY,eAAA;EAAA,SAAA,IAAA,EAAA,KAAe;EAOf,SAAA,KAAA,EAAA,MAAA;EAKR,SAAA,IAAA,CAAA,EAAA,SAAA,MAAA,EAAA;EACS,SAAA,OAAA,CAAA,EATQ,sBASR;CACiB;AAAsB,KAPxC,sBAAA,GAOwC,MAAA,GAAA,MAAA,GAAA,OAAA,GAAA,IAAA,GAFhD,eAEgD,GAAA,SADvC,sBACuC,EAAA,GAAA;EAE1C,UAAA,GAAA,EAAA,MAAA,CAAA,EAFoB,sBAEa;AAK3C,CAAA;UALU,iCAAA,CAKgC;EAYE,SAAA,IAAA,CAAA,EAAA,MAAA;EAAf,SAAA,QAAA,CAAA,EAAA,OAAA;;AAIZ,KAhBL,2BAAA,GAA8B,iCAgBG,GAAA,CAAA;EAEtB,SAAA,IAAA,EAAA,QAAA;CACgB,GAAA;EAAf,SAAA,IAAA,EAAA,QAAA;EAAM,SAAA,OAAA,CAAA,EAAA,OAAA;EAGb,SAAA,OAAA,CAAA,EAAA,MAAA;EAMA,SAAA,OAAA,CAAA,EAAA,MAAA;AAKjB,CAAA,GAAiB;EAKL,SAAA,IAAA,EAAA,aAAA;AAIZ,CAAA,GAAiB;EAEI,SAAA,IAAA,EAAA,QAAA;EACS,SAAA,UAAA,EAjCD,MAiCC,CAAA,MAAA,EAjCc,2BAiCd,CAAA;CAHsB,CAAA;AAA4B,UA1B/D,4BAAA,CA0B+D;EAQ/D,SAAA,OAAA,EAAA,MAAA;EAML,SAAA,UAAA,EAtCW,sBAuCI;EAGf,SAAA,UAAA,CAAA,EAzCY,MAyCW,CAAA,MAAA,EAzCI,sBA0CZ,CAAA;AAG3B;AAKgB,UA/CC,kCAAA,CA+C0D;EAkB3D,SAAA,IAAA,EAAA,iBAAA;EAYA,SAAA,IAAA,CAAA,EAAA,SA3EW,2BA6Ef,EAAA;EAUI,SAAA,MAAA,EAtFG,4BAuFP;AA2GZ;AAuFgB,UAtRC,qCAAA,CAuRH;EAUE,SAAA,IAAA,EAAA,SAAA;kBA/RE;;UAGD,sCAAA;;uBAEM;;KAGX,8BAAA,GACR,wCACA;UAEa,0BAAA,SAAmC;;qBAE/B;8BACS;;;;UAKb,8BAAA;;2BAEU;mBACR;;KAGP,sBAAA;2BACe,qCAAqC;;KAGpD,uBAAA;2BACe,iCAAiC;;UAG3C,sBAAA;kBACC;mBACC;;iBAGH,iBAAA,2BAA4C;iBAkB5C,oCAAA,2BAEJ;iBAUI,gCAAA,2BAEJ;iBAUI,6BAAA,WACJ;iBA2GI,gCAAA,2CAEQ;iBAqFR,mCAAA,aACF;;;wBAKU;;iBAKR,+BAAA,aACF;;;;0BAMY"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@prisma-next/framework-components",
3
- "version": "0.4.0-dev.5",
3
+ "version": "0.4.0-dev.7",
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.5",
9
- "@prisma-next/utils": "0.4.0-dev.5",
10
- "@prisma-next/contract": "0.4.0-dev.5"
8
+ "@prisma-next/contract": "0.4.0-dev.7",
9
+ "@prisma-next/operations": "0.4.0-dev.7",
10
+ "@prisma-next/utils": "0.4.0-dev.7"
11
11
  },
12
12
  "devDependencies": {
13
13
  "tsdown": "0.18.4",
@@ -145,6 +145,32 @@ export interface MigrationPlan {
145
145
  readonly operations: readonly MigrationPlanOperation[];
146
146
  }
147
147
 
148
+ /**
149
+ * A migration plan that can also render itself back to user-editable
150
+ * TypeScript source (a `migration.ts` file).
151
+ *
152
+ * Planners produce this richer shape so that CLI commands can both:
153
+ * - hand the plan to the runner for execution (via `MigrationPlan`), and
154
+ * - materialize the plan as an editable source file via `renderTypeScript()`.
155
+ *
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
+ */
165
+ export interface MigrationPlanWithAuthoringSurface extends MigrationPlan {
166
+ /**
167
+ * Render this plan back to TypeScript source suitable for writing to
168
+ * `migration.ts`. Output may start with a shebang; when it does, the caller
169
+ * should make the resulting file executable.
170
+ */
171
+ renderTypeScript(): string;
172
+ }
173
+
148
174
  // ============================================================================
149
175
  // Planner Result Types
150
176
  // ============================================================================
@@ -163,10 +189,16 @@ export interface MigrationPlannerConflict {
163
189
 
164
190
  /**
165
191
  * Successful planner result with the migration plan.
192
+ *
193
+ * 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`.
166
198
  */
167
199
  export interface MigrationPlannerSuccessResult {
168
200
  readonly kind: 'success';
169
- readonly plan: MigrationPlan;
201
+ readonly plan: MigrationPlanWithAuthoringSurface;
170
202
  }
171
203
 
172
204
  /**
@@ -258,6 +290,13 @@ export interface MigrationPlanner<
258
290
  readonly contract: unknown;
259
291
  readonly schema: unknown;
260
292
  readonly policy: MigrationOperationPolicy;
293
+ /**
294
+ * 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.
298
+ */
299
+ readonly fromHash: string;
261
300
  /**
262
301
  * Active framework components participating in this composition.
263
302
  * Families/targets can interpret this list to derive family-specific metadata.
@@ -267,6 +306,16 @@ export interface MigrationPlanner<
267
306
  TargetBoundComponentDescriptor<TFamilyId, TTargetId>
268
307
  >;
269
308
  }): MigrationPlannerResult;
309
+
310
+ /**
311
+ * Produce an empty migration with the target's authoring conventions.
312
+ *
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.
317
+ */
318
+ emptyMigration(context: MigrationScaffoldContext): MigrationPlanWithAuthoringSurface;
270
319
  }
271
320
 
272
321
  /**
@@ -343,8 +392,10 @@ export interface TargetMigrationsCapability<
343
392
 
344
393
  /**
345
394
  * Plans a migration using the descriptor-based planner.
346
- * Returns operation descriptors and whether data migration is needed.
347
- * The caller decides whether to resolve immediately or scaffold migration.ts.
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.
348
399
  */
349
400
  planWithDescriptors?(context: {
350
401
  readonly fromContract: Contract | null;
@@ -356,7 +407,6 @@ export interface TargetMigrationsCapability<
356
407
  | {
357
408
  readonly ok: true;
358
409
  readonly descriptors: readonly OperationDescriptor[];
359
- readonly needsDataMigration: boolean;
360
410
  }
361
411
  | {
362
412
  readonly ok: false;
@@ -365,7 +415,7 @@ export interface TargetMigrationsCapability<
365
415
 
366
416
  /**
367
417
  * Resolves operation descriptors into target-specific migration plan operations
368
- * with SQL/DDL, prechecks, and postchecks. Called by `migration verify` to
418
+ * with SQL/DDL, prechecks, and postchecks. Called by `migration emit` to
369
419
  * serialize migration.ts into ops.json.
370
420
  */
371
421
  resolveDescriptors?(
@@ -379,4 +429,81 @@ export interface TargetMigrationsCapability<
379
429
  >;
380
430
  },
381
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
+ }
479
+
480
+ // ============================================================================
481
+ // Migration Scaffolding SPI
482
+ // ============================================================================
483
+
484
+ /**
485
+ * Context for rendering migration source files.
486
+ *
487
+ * Kept minimal: only the paths a target might need to compute relative imports
488
+ * (e.g. the contract `.d.ts` import for typed-contract builders). Passed to
489
+ * `MigrationPlanner.emptyMigration(context)` and to
490
+ * `TargetMigrationsCapability.renderDescriptorTypeScript(descriptors, context)`.
491
+ */
492
+ export interface MigrationScaffoldContext {
493
+ /** Absolute path to the migration package directory. Used by targets to compute relative imports. */
494
+ readonly packageDir: string;
495
+ /** Absolute path to the contract.json file, if one exists. Used by targets that emit typed-contract imports. */
496
+ readonly contractJsonPath?: string;
497
+ /**
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.
501
+ */
502
+ readonly fromHash: string;
503
+ /**
504
+ * Storage hash of the "to" contract. Same purpose as `fromHash` — threaded
505
+ * through so the rendered class's `describe()` declares the correct
506
+ * destination identity.
507
+ */
508
+ readonly toHash: string;
382
509
  }
@@ -25,11 +25,13 @@ export type {
25
25
  MigrationPlannerResult,
26
26
  MigrationPlannerSuccessResult,
27
27
  MigrationPlanOperation,
28
+ MigrationPlanWithAuthoringSurface,
28
29
  MigrationRunner,
29
30
  MigrationRunnerExecutionChecks,
30
31
  MigrationRunnerFailure,
31
32
  MigrationRunnerResult,
32
33
  MigrationRunnerSuccessValue,
34
+ MigrationScaffoldContext,
33
35
  OperationDescriptor,
34
36
  SerializedQueryPlan,
35
37
  TargetMigrationsCapability,