@prisma/orm-family-mongo 0.16.0-dev.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +27 -0
  3. package/dist/authoring-entity-types-BGtkMyoN-D32kzx28.mjs +176 -0
  4. package/dist/authoring-entity-types-BGtkMyoN-D32kzx28.mjs.map +1 -0
  5. package/dist/canonicalization-hooks-DF3Z6sjO.mjs +22 -0
  6. package/dist/canonicalization-hooks-DF3Z6sjO.mjs.map +1 -0
  7. package/dist/codec.d.mts +2 -0
  8. package/dist/codec.mjs +2 -0
  9. package/dist/config-types-CFDf9ivE.mjs +37 -0
  10. package/dist/config-types-CFDf9ivE.mjs.map +1 -0
  11. package/dist/config-types-CQOf5N7R.d.mts +12 -0
  12. package/dist/config-types-CQOf5N7R.d.mts.map +1 -0
  13. package/dist/contract-builder-BFq0gOMV.mjs +634 -0
  14. package/dist/contract-builder-BFq0gOMV.mjs.map +1 -0
  15. package/dist/contract-builder-DB8nguDE.d.mts +445 -0
  16. package/dist/contract-builder-DB8nguDE.d.mts.map +1 -0
  17. package/dist/contract-errors-BCN6RVI5-kMurtAbI.mjs +9 -0
  18. package/dist/contract-errors-BCN6RVI5-kMurtAbI.mjs.map +1 -0
  19. package/dist/contract-psl.d.mts +45 -0
  20. package/dist/contract-psl.d.mts.map +1 -0
  21. package/dist/contract-psl.mjs +2 -0
  22. package/dist/contract-psl__provider.d.mts +15 -0
  23. package/dist/contract-psl__provider.d.mts.map +1 -0
  24. package/dist/contract-psl__provider.mjs +82 -0
  25. package/dist/contract-psl__provider.mjs.map +1 -0
  26. package/dist/contract-ts.d.mts +3 -0
  27. package/dist/contract-ts.mjs +3 -0
  28. package/dist/contract-ts__config-types.d.mts +2 -0
  29. package/dist/contract-ts__config-types.mjs +2 -0
  30. package/dist/contract-ts__contract-builder.d.mts +2 -0
  31. package/dist/contract-ts__contract-builder.mjs +2 -0
  32. package/dist/contract.d.mts +3 -0
  33. package/dist/contract.mjs +3 -0
  34. package/dist/contract__canonicalization-hooks.d.mts +9 -0
  35. package/dist/contract__canonicalization-hooks.d.mts.map +1 -0
  36. package/dist/contract__canonicalization-hooks.mjs +2 -0
  37. package/dist/contract__entity-kinds.d.mts +17 -0
  38. package/dist/contract__entity-kinds.d.mts.map +1 -0
  39. package/dist/contract__entity-kinds.mjs +2 -0
  40. package/dist/control-C7-kthr1.d.mts +193 -0
  41. package/dist/control-C7-kthr1.d.mts.map +1 -0
  42. package/dist/control-CClR5JMr.mjs +127 -0
  43. package/dist/control-CClR5JMr.mjs.map +1 -0
  44. package/dist/control-CFr3tYsg.mjs +398 -0
  45. package/dist/control-CFr3tYsg.mjs.map +1 -0
  46. package/dist/control-Cj81sPbj.d.mts +101 -0
  47. package/dist/control-Cj81sPbj.d.mts.map +1 -0
  48. package/dist/control-adapter-Db5pT77b.d.mts +83 -0
  49. package/dist/control-adapter-Db5pT77b.d.mts.map +1 -0
  50. package/dist/dist-C7Ykq48Q.mjs +19 -0
  51. package/dist/dist-C7Ykq48Q.mjs.map +1 -0
  52. package/dist/dist-Czwqx_i3.mjs +58 -0
  53. package/dist/dist-Czwqx_i3.mjs.map +1 -0
  54. package/dist/dist-DHrEJnhK.mjs +236 -0
  55. package/dist/dist-DHrEJnhK.mjs.map +1 -0
  56. package/dist/dist-Dyp05u64.mjs +1546 -0
  57. package/dist/dist-Dyp05u64.mjs.map +1 -0
  58. package/dist/emitter.d.mts +22 -0
  59. package/dist/emitter.d.mts.map +1 -0
  60. package/dist/emitter.mjs +2 -0
  61. package/dist/entity-kinds-B4KNTF8z-DPIuUuuB.mjs +603 -0
  62. package/dist/entity-kinds-B4KNTF8z-DPIuUuuB.mjs.map +1 -0
  63. package/dist/execution-CKnUiOfm.d.mts +48 -0
  64. package/dist/execution-CKnUiOfm.d.mts.map +1 -0
  65. package/dist/execution-D5XyZ5XS.mjs +1269 -0
  66. package/dist/execution-D5XyZ5XS.mjs.map +1 -0
  67. package/dist/exports-Bx-hlnZ3.mjs +209 -0
  68. package/dist/exports-Bx-hlnZ3.mjs.map +1 -0
  69. package/dist/exports-CJMh0VTU.mjs +156 -0
  70. package/dist/exports-CJMh0VTU.mjs.map +1 -0
  71. package/dist/family.d.mts +10 -0
  72. package/dist/family.mjs +9 -0
  73. package/dist/family__control-adapter.d.mts +2 -0
  74. package/dist/family__control-adapter.mjs +1 -0
  75. package/dist/family__control.d.mts +2 -0
  76. package/dist/family__control.mjs +3 -0
  77. package/dist/family__ir.d.mts +3 -0
  78. package/dist/family__ir.mjs +4 -0
  79. package/dist/family__migration.d.mts +2 -0
  80. package/dist/family__migration.mjs +2 -0
  81. package/dist/family__pack.d.mts +2 -0
  82. package/dist/family__pack.mjs +16 -0
  83. package/dist/family__pack.mjs.map +1 -0
  84. package/dist/family__runtime.d.mts +3 -0
  85. package/dist/family__runtime.mjs +2 -0
  86. package/dist/family__schema-verify.d.mts +2 -0
  87. package/dist/family__schema-verify.mjs +2 -0
  88. package/dist/field-accessor-0oUt6RZC-B_Z30uAA.mjs +234 -0
  89. package/dist/field-accessor-0oUt6RZC-B_Z30uAA.mjs.map +1 -0
  90. package/dist/field-accessor-DHsAPiW3-BdYCspQC.d.mts +588 -0
  91. package/dist/field-accessor-DHsAPiW3-BdYCspQC.d.mts.map +1 -0
  92. package/dist/filter-expressions-Uo8ZdzwB-53qnqceS.mjs +181 -0
  93. package/dist/filter-expressions-Uo8ZdzwB-53qnqceS.mjs.map +1 -0
  94. package/dist/index-BR0ue13b.d.mts +136 -0
  95. package/dist/index-BR0ue13b.d.mts.map +1 -0
  96. package/dist/index-Cd2zLiU6.d.mts +128 -0
  97. package/dist/index-Cd2zLiU6.d.mts.map +1 -0
  98. package/dist/index-DAOkcTCK.d.mts +151 -0
  99. package/dist/index-DAOkcTCK.d.mts.map +1 -0
  100. package/dist/index-Dv2PNMiG.d.mts +53 -0
  101. package/dist/index-Dv2PNMiG.d.mts.map +1 -0
  102. package/dist/index-DxoO-ywI.d.mts +178 -0
  103. package/dist/index-DxoO-ywI.d.mts.map +1 -0
  104. package/dist/index-wKMm41HC.d.mts +30 -0
  105. package/dist/index-wKMm41HC.d.mts.map +1 -0
  106. package/dist/interpreter-BxbUTQ3k-ClR98Ned.mjs +1091 -0
  107. package/dist/interpreter-BxbUTQ3k-ClR98Ned.mjs.map +1 -0
  108. package/dist/ir-CQrenTYt.d.mts +147 -0
  109. package/dist/ir-CQrenTYt.d.mts.map +1 -0
  110. package/dist/ir-Ch2aPr7a.mjs +62 -0
  111. package/dist/ir-Ch2aPr7a.mjs.map +1 -0
  112. package/dist/lowering.d.mts +2 -0
  113. package/dist/lowering.mjs +1 -0
  114. package/dist/migration-CNDQv5yB.d.mts +50 -0
  115. package/dist/migration-CNDQv5yB.d.mts.map +1 -0
  116. package/dist/migration-dcM7u4HG.mjs +52 -0
  117. package/dist/migration-dcM7u4HG.mjs.map +1 -0
  118. package/dist/mongo-contract-serializer-Cx7Fae8e-C8ZYPXpc.mjs +119 -0
  119. package/dist/mongo-contract-serializer-Cx7Fae8e-C8ZYPXpc.mjs.map +1 -0
  120. package/dist/mongo-contract-view-AnejqfrQ-BaCFT0xm.d.mts +27 -0
  121. package/dist/mongo-contract-view-AnejqfrQ-BaCFT0xm.d.mts.map +1 -0
  122. package/dist/mongo-contract-view-rcWzby6f-wRBCUnBt.mjs +17 -0
  123. package/dist/mongo-contract-view-rcWzby6f-wRBCUnBt.mjs.map +1 -0
  124. package/dist/mongo-value-set-tNn9-pun-dJYx_rVD.d.mts +536 -0
  125. package/dist/mongo-value-set-tNn9-pun-dJYx_rVD.d.mts.map +1 -0
  126. package/dist/mongodb-types-B4HmhF1S.d.mts +2 -0
  127. package/dist/orm.d.mts +311 -0
  128. package/dist/orm.d.mts.map +1 -0
  129. package/dist/orm.mjs +664 -0
  130. package/dist/orm.mjs.map +1 -0
  131. package/dist/pack-D9aLY50F.d.mts +44 -0
  132. package/dist/pack-D9aLY50F.d.mts.map +1 -0
  133. package/dist/query-ast.d.mts +5 -0
  134. package/dist/query-ast.mjs +4 -0
  135. package/dist/query-ast__control.d.mts +4 -0
  136. package/dist/query-ast__control.mjs +3 -0
  137. package/dist/query-ast__execution.d.mts +3 -0
  138. package/dist/query-ast__execution.mjs +3 -0
  139. package/dist/query-builder.d.mts +836 -0
  140. package/dist/query-builder.d.mts.map +1 -0
  141. package/dist/query-builder.mjs +3 -0
  142. package/dist/query-builder__contract-free.d.mts +83 -0
  143. package/dist/query-builder__contract-free.d.mts.map +1 -0
  144. package/dist/query-builder__contract-free.mjs +107 -0
  145. package/dist/query-builder__contract-free.mjs.map +1 -0
  146. package/dist/query-plan-C0-Yu8hf-DdilEdW6.d.mts +822 -0
  147. package/dist/query-plan-C0-Yu8hf-DdilEdW6.d.mts.map +1 -0
  148. package/dist/runtime-DPkRW4iu.d.mts +1 -0
  149. package/dist/runtime.d.mts +286 -0
  150. package/dist/runtime.d.mts.map +1 -0
  151. package/dist/runtime.mjs +532 -0
  152. package/dist/runtime.mjs.map +1 -0
  153. package/dist/schema-ir.d.mts +2 -0
  154. package/dist/schema-ir.mjs +2 -0
  155. package/dist/schema-verify-DJGr28XW.d.mts +23 -0
  156. package/dist/schema-verify-DJGr28XW.d.mts.map +1 -0
  157. package/dist/value.d.mts +2 -0
  158. package/dist/value.mjs +2 -0
  159. package/dist/value__mongodb-types.d.mts +2 -0
  160. package/dist/value__mongodb-types.mjs +1 -0
  161. package/dist/verify-mongo-schema-De0FG2Rm-CCzwnNPY.mjs +447 -0
  162. package/dist/verify-mongo-schema-De0FG2Rm-CCzwnNPY.mjs.map +1 -0
  163. package/dist/wire.d.mts +3 -0
  164. package/dist/wire.mjs +190 -0
  165. package/dist/wire.mjs.map +1 -0
  166. package/package.json +89 -0
@@ -0,0 +1,45 @@
1
+ import { Q as MongoValidator } from "./mongo-value-set-tNn9-pun-dJYx_rVD.mjs";
2
+ import "./index-Cd2zLiU6.mjs";
3
+ import { Contract, ContractField, ContractValueObject, JsonValue } from "@prisma/orm-framework/contract/types";
4
+ import { AuthoringContributions } from "@prisma/orm-framework/components/authoring";
5
+ import { SymbolTable } from "@prisma/orm-framework/psl-parser";
6
+ import { Result } from "@prisma/orm-framework/utils/result";
7
+ import { SourceFile } from "@prisma/orm-framework/psl-parser/syntax";
8
+ import { CodecLookup } from "@prisma/orm-framework/components/codec";
9
+ import { ContractSourceDiagnostic, ContractSourceDiagnostics } from "@prisma/orm-framework/config/config-types";
10
+ //#region ../../../2-mongo-family/2-authoring/contract-psl/dist/index.d.mts
11
+ //#region src/derive-json-schema.d.ts
12
+ /**
13
+ * The permitted values a field's value set restricts it to, keyed by the value set's name — the
14
+ * storage `entries.valueSet` slot. The validator's `enum` keyword is sourced from these, not from
15
+ * `domain.enum`.
16
+ */
17
+ type FieldValueSets = Record<string, {
18
+ readonly values: readonly JsonValue[];
19
+ }>;
20
+ declare function deriveJsonSchema(fields: Record<string, ContractField>, valueObjects?: Record<string, ContractValueObject>, codecLookup?: CodecLookup, valueSets?: FieldValueSets): MongoValidator;
21
+ interface PolymorphicVariant {
22
+ readonly discriminatorValue: string;
23
+ readonly fields: Record<string, ContractField>;
24
+ }
25
+ declare function derivePolymorphicJsonSchema(baseFields: Record<string, ContractField>, discriminatorField: string, variants: readonly PolymorphicVariant[], valueObjects?: Record<string, ContractValueObject>, codecLookup?: CodecLookup, valueSets?: FieldValueSets): MongoValidator;
26
+ //#endregion
27
+ //#region src/interpreter.d.ts
28
+ interface InterpretPslDocumentToMongoContractInput {
29
+ readonly symbolTable: SymbolTable;
30
+ readonly sourceFile: SourceFile;
31
+ readonly sourceId: string;
32
+ readonly scalarTypeCodecIds: ReadonlyMap<string, string>;
33
+ readonly codecLookup?: CodecLookup;
34
+ readonly seedDiagnostics?: readonly ContractSourceDiagnostic[];
35
+ readonly authoringContributions?: AuthoringContributions;
36
+ /** The target's default codec ids for an `enum` block that omits `@@type`. */
37
+ readonly enumInferenceCodecs?: {
38
+ readonly text: string;
39
+ readonly int: string;
40
+ };
41
+ }
42
+ declare function interpretPslDocumentToMongoContract(input: InterpretPslDocumentToMongoContractInput): Result<Contract, ContractSourceDiagnostics>;
43
+ //#endregion
44
+ export { type FieldValueSets, type InterpretPslDocumentToMongoContractInput, deriveJsonSchema, derivePolymorphicJsonSchema, interpretPslDocumentToMongoContract };
45
+ //# sourceMappingURL=contract-psl.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-psl.d.mts","names":[],"sources":["../../../../2-mongo-family/2-authoring/contract-psl/dist/index.d.mts"],"mappings":";;;;;;;;;;;;;;;;KAcK,iBAAiB;WACX,iBAAiB;;iBAEX,iBAAiB,QAAQ,eAAe,gBAAgB,eAAe,eAAe,sBAAsB,cAAc,aAAa,YAAY,iBAAiB;UAC3K;WACC;WACA,QAAQ,eAAe;;iBAEjB,4BAA4B,YAAY,eAAe,gBAAgB,4BAA4B,mBAAmB,sBAAsB,eAAe,eAAe,sBAAsB,cAAc,aAAa,YAAY,iBAAiB;;;UAG/P;WACC,aAAa;WACb,YAAY;WACZ;WACA,oBAAoB;WACpB,cAAc;WACd,2BAA2B;WAC3B,yBAAyB;;WAEzB;aACE;aACA;;;iBAGI,oCAAoC,OAAO,2CAA2C,OAAO,UAAU"}
@@ -0,0 +1,2 @@
1
+ import { n as derivePolymorphicJsonSchema, r as interpretPslDocumentToMongoContract, t as deriveJsonSchema } from "./interpreter-BxbUTQ3k-ClR98Ned.mjs";
2
+ export { deriveJsonSchema, derivePolymorphicJsonSchema, interpretPslDocumentToMongoContract };
@@ -0,0 +1,15 @@
1
+ import { ContractConfig } from "@prisma/orm-framework/config/config-types";
2
+ //#region ../../../2-mongo-family/2-authoring/contract-psl/dist/exports/provider.d.mts
3
+ //#region src/provider.d.ts
4
+ interface MongoContractOptions {
5
+ readonly output?: string;
6
+ /** The target's default codec ids for an `enum` block that omits `@@type`. */
7
+ readonly enumInferenceCodecs?: {
8
+ readonly text: string;
9
+ readonly int: string;
10
+ };
11
+ }
12
+ declare function mongoContract(schemaPath: string, options?: MongoContractOptions): ContractConfig;
13
+ //#endregion
14
+ export { type MongoContractOptions, mongoContract };
15
+ //# sourceMappingURL=contract-psl__provider.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-psl__provider.d.mts","names":[],"sources":["../../../../2-mongo-family/2-authoring/contract-psl/dist/exports/provider.d.mts"],"mappings":";;;UAEU;WACC;;WAEA;aACE;aACA;;;iBAGI,cAAc,oBAAoB,UAAU,uBAAuB"}
@@ -0,0 +1,82 @@
1
+ import { r as interpretPslDocumentToMongoContract } from "./interpreter-BxbUTQ3k-ClR98Ned.mjs";
2
+ import { collectScalarTypeConstructors } from "@prisma/orm-framework/components/authoring";
3
+ import { buildSymbolTable, rangeToPslSpan } from "@prisma/orm-framework/psl-parser";
4
+ import { ifDefined } from "@prisma/orm-framework/utils/defined";
5
+ import { notOk } from "@prisma/orm-framework/utils/result";
6
+ import { readFile } from "node:fs/promises";
7
+ import { withSeedDiagnostics } from "@prisma/orm-framework/psl-parser/interpret";
8
+ import { parse } from "@prisma/orm-framework/psl-parser/syntax";
9
+ import { InternalError } from "@prisma/orm-framework/utils/internal-error";
10
+ //#region ../../../2-mongo-family/2-authoring/contract-psl/dist/exports/provider.mjs
11
+ function collectScalarTypeCodecIds(namespace) {
12
+ return new Map([...collectScalarTypeConstructors(namespace)].map(([name, output]) => [name, output.codecId]));
13
+ }
14
+ function mapParseDiagnostics(diagnostics, sourceFile, sourceId) {
15
+ return diagnostics.map((diagnostic) => ({
16
+ code: diagnostic.code,
17
+ message: diagnostic.message,
18
+ sourceId,
19
+ span: rangeToPslSpan(diagnostic.range, sourceFile)
20
+ }));
21
+ }
22
+ function mongoContract(schemaPath, options) {
23
+ return {
24
+ source: {
25
+ format: "psl",
26
+ inputs: [schemaPath],
27
+ interpret(input, context) {
28
+ return interpretPslDocumentToMongoContract({
29
+ symbolTable: input.symbolTable,
30
+ sourceFile: input.sourceFile,
31
+ sourceId: input.sourceId,
32
+ seedDiagnostics: [],
33
+ scalarTypeCodecIds: collectScalarTypeCodecIds(context.authoringContributions.type),
34
+ codecLookup: context.codecLookup,
35
+ authoringContributions: context.authoringContributions,
36
+ ...ifDefined("enumInferenceCodecs", options?.enumInferenceCodecs)
37
+ });
38
+ },
39
+ async load(context) {
40
+ const [absoluteSchemaPath] = context.resolvedInputs;
41
+ if (absoluteSchemaPath === void 0) throw new InternalError("mongoContract: context.resolvedInputs is empty. The CLI config loader should populate it positional-matched with source.inputs.");
42
+ let schema;
43
+ try {
44
+ schema = await readFile(absoluteSchemaPath, "utf-8");
45
+ } catch (error) {
46
+ const message = String(error);
47
+ return notOk({
48
+ summary: `Failed to read Prisma schema at "${schemaPath}"`,
49
+ diagnostics: [{
50
+ code: "PSL_SCHEMA_READ_FAILED",
51
+ message,
52
+ sourceId: schemaPath
53
+ }],
54
+ meta: {
55
+ schemaPath,
56
+ absoluteSchemaPath,
57
+ cause: message
58
+ }
59
+ });
60
+ }
61
+ const { document, sourceFile, diagnostics: parseDiagnostics } = parse(schema);
62
+ const { table: symbolTable, diagnostics: symbolTableDiagnostics } = buildSymbolTable({
63
+ document,
64
+ sourceFile,
65
+ pslBlockDescriptors: context.authoringContributions.pslBlockDescriptors
66
+ });
67
+ const seedDiagnostics = [...mapParseDiagnostics(parseDiagnostics, sourceFile, schemaPath), ...mapParseDiagnostics(symbolTableDiagnostics, sourceFile, schemaPath)];
68
+ return withSeedDiagnostics(this.interpret({
69
+ document,
70
+ sourceFile,
71
+ symbolTable,
72
+ sourceId: schemaPath
73
+ }, context), seedDiagnostics);
74
+ }
75
+ },
76
+ ...ifDefined("output", options?.output)
77
+ };
78
+ }
79
+ //#endregion
80
+ export { mongoContract };
81
+
82
+ //# sourceMappingURL=contract-psl__provider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-psl__provider.mjs","names":[],"sources":["../../../../2-mongo-family/2-authoring/contract-psl/dist/exports/provider.mjs"],"sourcesContent":["import { t as interpretPslDocumentToMongoContract } from \"../interpreter-BxbUTQ3k.mjs\";\nimport { collectScalarTypeConstructors } from \"@internal/framework-components/authoring\";\nimport { buildSymbolTable, rangeToPslSpan } from \"@internal/psl-parser\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { notOk } from \"@internal/utils/result\";\nimport { readFile } from \"node:fs/promises\";\nimport { withSeedDiagnostics } from \"@internal/psl-parser/interpret\";\nimport { parse } from \"@internal/psl-parser/syntax\";\nimport { InternalError } from \"@internal/utils/internal-error\";\n//#region src/provider.ts\nfunction collectScalarTypeCodecIds(namespace) {\n\treturn new Map([...collectScalarTypeConstructors(namespace)].map(([name, output]) => [name, output.codecId]));\n}\nfunction mapParseDiagnostics(diagnostics, sourceFile, sourceId) {\n\treturn diagnostics.map((diagnostic) => ({\n\t\tcode: diagnostic.code,\n\t\tmessage: diagnostic.message,\n\t\tsourceId,\n\t\tspan: rangeToPslSpan(diagnostic.range, sourceFile)\n\t}));\n}\nfunction mongoContract(schemaPath, options) {\n\treturn {\n\t\tsource: {\n\t\t\tformat: \"psl\",\n\t\t\tinputs: [schemaPath],\n\t\t\tinterpret(input, context) {\n\t\t\t\treturn interpretPslDocumentToMongoContract({\n\t\t\t\t\tsymbolTable: input.symbolTable,\n\t\t\t\t\tsourceFile: input.sourceFile,\n\t\t\t\t\tsourceId: input.sourceId,\n\t\t\t\t\tseedDiagnostics: [],\n\t\t\t\t\tscalarTypeCodecIds: collectScalarTypeCodecIds(context.authoringContributions.type),\n\t\t\t\t\tcodecLookup: context.codecLookup,\n\t\t\t\t\tauthoringContributions: context.authoringContributions,\n\t\t\t\t\t...ifDefined(\"enumInferenceCodecs\", options?.enumInferenceCodecs)\n\t\t\t\t});\n\t\t\t},\n\t\t\tasync load(context) {\n\t\t\t\tconst [absoluteSchemaPath] = context.resolvedInputs;\n\t\t\t\tif (absoluteSchemaPath === void 0) throw new InternalError(\"mongoContract: context.resolvedInputs is empty. The CLI config loader should populate it positional-matched with source.inputs.\");\n\t\t\t\tlet schema;\n\t\t\t\ttry {\n\t\t\t\t\tschema = await readFile(absoluteSchemaPath, \"utf-8\");\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconst message = String(error);\n\t\t\t\t\treturn notOk({\n\t\t\t\t\t\tsummary: `Failed to read Prisma schema at \"${schemaPath}\"`,\n\t\t\t\t\t\tdiagnostics: [{\n\t\t\t\t\t\t\tcode: \"PSL_SCHEMA_READ_FAILED\",\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\tsourceId: schemaPath\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tschemaPath,\n\t\t\t\t\t\t\tabsoluteSchemaPath,\n\t\t\t\t\t\t\tcause: message\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tconst { document, sourceFile, diagnostics: parseDiagnostics } = parse(schema);\n\t\t\t\tconst { table: symbolTable, diagnostics: symbolTableDiagnostics } = buildSymbolTable({\n\t\t\t\t\tdocument,\n\t\t\t\t\tsourceFile,\n\t\t\t\t\tpslBlockDescriptors: context.authoringContributions.pslBlockDescriptors\n\t\t\t\t});\n\t\t\t\tconst seedDiagnostics = [...mapParseDiagnostics(parseDiagnostics, sourceFile, schemaPath), ...mapParseDiagnostics(symbolTableDiagnostics, sourceFile, schemaPath)];\n\t\t\t\treturn withSeedDiagnostics(this.interpret({\n\t\t\t\t\tdocument,\n\t\t\t\t\tsourceFile,\n\t\t\t\t\tsymbolTable,\n\t\t\t\t\tsourceId: schemaPath\n\t\t\t\t}, context), seedDiagnostics);\n\t\t\t}\n\t\t},\n\t\t...ifDefined(\"output\", options?.output)\n\t};\n}\n//#endregion\nexport { mongoContract };\n\n//# sourceMappingURL=provider.mjs.map"],"mappings":";;;;;;;;;;AAUA,SAAS,0BAA0B,WAAW;CAC7C,OAAO,IAAI,IAAI,CAAC,GAAG,8BAA8B,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,YAAY,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAC7G;AACA,SAAS,oBAAoB,aAAa,YAAY,UAAU;CAC/D,OAAO,YAAY,KAAK,gBAAgB;EACvC,MAAM,WAAW;EACjB,SAAS,WAAW;EACpB;EACA,MAAM,eAAe,WAAW,OAAO,UAAU;CAClD,EAAE;AACH;AACA,SAAS,cAAc,YAAY,SAAS;CAC3C,OAAO;EACN,QAAQ;GACP,QAAQ;GACR,QAAQ,CAAC,UAAU;GACnB,UAAU,OAAO,SAAS;IACzB,OAAO,oCAAoC;KAC1C,aAAa,MAAM;KACnB,YAAY,MAAM;KAClB,UAAU,MAAM;KAChB,iBAAiB,CAAC;KAClB,oBAAoB,0BAA0B,QAAQ,uBAAuB,IAAI;KACjF,aAAa,QAAQ;KACrB,wBAAwB,QAAQ;KAChC,GAAG,UAAU,uBAAuB,SAAS,mBAAmB;IACjE,CAAC;GACF;GACA,MAAM,KAAK,SAAS;IACnB,MAAM,CAAC,sBAAsB,QAAQ;IACrC,IAAI,uBAAuB,KAAK,GAAG,MAAM,IAAI,cAAc,iIAAiI;IAC5L,IAAI;IACJ,IAAI;KACH,SAAS,MAAM,SAAS,oBAAoB,OAAO;IACpD,SAAS,OAAO;KACf,MAAM,UAAU,OAAO,KAAK;KAC5B,OAAO,MAAM;MACZ,SAAS,oCAAoC,WAAW;MACxD,aAAa,CAAC;OACb,MAAM;OACN;OACA,UAAU;MACX,CAAC;MACD,MAAM;OACL;OACA;OACA,OAAO;MACR;KACD,CAAC;IACF;IACA,MAAM,EAAE,UAAU,YAAY,aAAa,qBAAqB,MAAM,MAAM;IAC5E,MAAM,EAAE,OAAO,aAAa,aAAa,2BAA2B,iBAAiB;KACpF;KACA;KACA,qBAAqB,QAAQ,uBAAuB;IACrD,CAAC;IACD,MAAM,kBAAkB,CAAC,GAAG,oBAAoB,kBAAkB,YAAY,UAAU,GAAG,GAAG,oBAAoB,wBAAwB,YAAY,UAAU,CAAC;IACjK,OAAO,oBAAoB,KAAK,UAAU;KACzC;KACA;KACA;KACA,UAAU;IACX,GAAG,OAAO,GAAG,eAAe;GAC7B;EACD;EACA,GAAG,UAAU,UAAU,SAAS,MAAM;CACvC;AACD"}
@@ -0,0 +1,3 @@
1
+ import { n as typescriptContract, r as typescriptContractFromPath, t as ContractConfig } from "./config-types-CQOf5N7R.mjs";
2
+ import { C as model, S as member, T as valueObject, _ as defineContract, a as ContractScaffold, b as index, c as ExtractCodecTypesFromPack, d as ModelBuilder, f as MongoContractResult, g as buildBoundContract, h as bindEnumType, i as ContractFactory, l as FieldBuilder, m as ValueObjectBuilder, n as CodecTypeMap, o as EnumMember, p as RelationBuilder, r as ContractDefinition, s as EnumTypeHandle, t as BoundEnumType, u as FieldReference, v as enumType, w as rel, x as isEnumTypeHandle, y as field } from "./contract-builder-DB8nguDE.mjs";
3
+ export { type BoundEnumType, type CodecTypeMap, type ContractConfig, type ContractDefinition, type ContractFactory, type ContractScaffold, type EnumMember, type EnumTypeHandle, type ExtractCodecTypesFromPack, type FieldBuilder, type FieldReference, type ModelBuilder, type MongoContractResult, type RelationBuilder, type ValueObjectBuilder, bindEnumType, buildBoundContract, defineContract, enumType, field, index, isEnumTypeHandle, member, model, rel, typescriptContract, typescriptContractFromPath, valueObject };
@@ -0,0 +1,3 @@
1
+ import { n as typescriptContractFromPath, t as typescriptContract } from "./config-types-CFDf9ivE.mjs";
2
+ import { a as field, c as member, d as valueObject, i as enumType, l as model, n as buildBoundContract, o as index, r as defineContract, s as isEnumTypeHandle, t as bindEnumType, u as rel } from "./contract-builder-BFq0gOMV.mjs";
3
+ export { bindEnumType, buildBoundContract, defineContract, enumType, field, index, isEnumTypeHandle, member, model, rel, typescriptContract, typescriptContractFromPath, valueObject };
@@ -0,0 +1,2 @@
1
+ import { n as typescriptContract, r as typescriptContractFromPath, t as ContractConfig } from "./config-types-CQOf5N7R.mjs";
2
+ export { type ContractConfig, typescriptContract, typescriptContractFromPath };
@@ -0,0 +1,2 @@
1
+ import { n as typescriptContractFromPath, t as typescriptContract } from "./config-types-CFDf9ivE.mjs";
2
+ export { typescriptContract, typescriptContractFromPath };
@@ -0,0 +1,2 @@
1
+ import { C as model, S as member, T as valueObject, _ as defineContract, a as ContractScaffold, b as index, c as ExtractCodecTypesFromPack, d as ModelBuilder, f as MongoContractResult, g as buildBoundContract, h as bindEnumType, i as ContractFactory, l as FieldBuilder, m as ValueObjectBuilder, n as CodecTypeMap, o as EnumMember, p as RelationBuilder, r as ContractDefinition, s as EnumTypeHandle, t as BoundEnumType, u as FieldReference, v as enumType, w as rel, x as isEnumTypeHandle, y as field } from "./contract-builder-DB8nguDE.mjs";
2
+ export { type BoundEnumType, type CodecTypeMap, type ContractDefinition, type ContractFactory, type ContractScaffold, type EnumMember, type EnumTypeHandle, type ExtractCodecTypesFromPack, type FieldBuilder, type FieldReference, type ModelBuilder, type MongoContractResult, type RelationBuilder, type ValueObjectBuilder, bindEnumType, buildBoundContract, defineContract, enumType, field, index, isEnumTypeHandle, member, model, rel, valueObject };
@@ -0,0 +1,2 @@
1
+ import { a as field, c as member, d as valueObject, i as enumType, l as model, n as buildBoundContract, o as index, r as defineContract, s as isEnumTypeHandle, t as bindEnumType, u as rel } from "./contract-builder-BFq0gOMV.mjs";
2
+ export { bindEnumType, buildBoundContract, defineContract, enumType, field, index, isEnumTypeHandle, member, model, rel, valueObject };
@@ -0,0 +1,3 @@
1
+ import { $ as MongoValidatorInput, A as MongoIndexKey, B as MongoModelStorage, C as MongoContract, D as MongoIndexFieldValue, E as MongoIndexAuthoringInput, F as MongoIndexOptionsInput, G as MongoTimeSeriesCollectionOptions, H as MongoStorageCappedShape, I as MongoJsonObject, J as MongoTypeMaps, K as MongoTimeSeriesCollectionOptionsInput, L as MongoJsonPrimitive, M as MongoIndexOptionDefaults, N as MongoIndexOptionDefaultsInput, O as MongoIndexFields, P as MongoIndexOptions, Q as MongoValidator, R as MongoJsonValue, S as MongoCollectionOptionsInput, T as MongoIndex, U as MongoStorageClusteredIndexShape, V as MongoModelsMap, W as MongoStorageShape, X as MongoUnboundFieldInputTypes, Y as MongoTypeMapsPhantomKey, Z as MongoUnboundFieldOutputTypes, _ as MongoCollationStrength, a as ExtractMongoTypeMaps, at as RootModelName, b as MongoCollectionOptions, c as MongoChangeStreamPreAndPostImagesOptionsInput, d as MongoClusteredCollectionOptionsInput, et as MongoValidatorValidationAction, f as MongoCollationAlternate, g as MongoCollationOptionsInput, h as MongoCollationOptions, i as ExtractMongoFieldOutputTypes, it as MongoWildcardProjection, j as MongoIndexKeyDirection, k as MongoIndexInput, l as MongoClusteredCollectionKey, m as MongoCollationMaxVariable, n as ExtractMongoCodecTypes, nt as MongoValueSet, o as InferModelRow, p as MongoCollationCaseFirst, q as MongoTimeSeriesGranularity, r as ExtractMongoFieldInputTypes, rt as MongoValueSetInput, s as MongoChangeStreamPreAndPostImagesOptions, t as AnyMongoTypeMaps, tt as MongoValidatorValidationLevel, u as MongoClusteredCollectionOptions, v as MongoCollection, w as MongoContractWithTypeMaps, x as MongoCollectionOptionsAuthoringInput, y as MongoCollectionInput, z as MongoModelDefinition } from "./mongo-value-set-tNn9-pun-dJYx_rVD.mjs";
2
+ import { _ as defaultMongoDomainNamespaceId, a as MongoNamespace, c as MongoStorageInput, d as StorageValueSetSchema, f as applyPolymorphicScopeToMongoIndex, g as createMongoNamespaceEnvelopeSchema, h as createMongoContractSchema, i as MongoContractView, l as MongoUnboundNamespace, m as buildMongoNamespace, n as MongoContractAccessors, o as MongoNamespaceEntries, p as buildMongoContractView, r as MongoContractSchema, s as MongoStorage, t as ApplyScopeResult, u as PolymorphicIndexScope, v as defaultMongoStorageNamespaceId, y as validateMongoStorage } from "./index-Cd2zLiU6.mjs";
3
+ export { type AnyMongoTypeMaps, type ApplyScopeResult, type ExtractMongoCodecTypes, type ExtractMongoFieldInputTypes, type ExtractMongoFieldOutputTypes, type ExtractMongoTypeMaps, type InferModelRow, MongoChangeStreamPreAndPostImagesOptions, type MongoChangeStreamPreAndPostImagesOptionsInput, type MongoClusteredCollectionKey, MongoClusteredCollectionOptions, type MongoClusteredCollectionOptionsInput, type MongoCollationAlternate, type MongoCollationCaseFirst, type MongoCollationMaxVariable, MongoCollationOptions, type MongoCollationOptionsInput, type MongoCollationStrength, MongoCollection, type MongoCollectionInput, MongoCollectionOptions, type MongoCollectionOptionsAuthoringInput, type MongoCollectionOptionsInput, type MongoContract, type MongoContractAccessors, MongoContractSchema, type MongoContractView, type MongoContractWithTypeMaps, MongoIndex, type MongoIndexAuthoringInput, type MongoIndexFieldValue, type MongoIndexFields, type MongoIndexInput, type MongoIndexKey, type MongoIndexKeyDirection, MongoIndexOptionDefaults, type MongoIndexOptionDefaultsInput, MongoIndexOptions, type MongoIndexOptionsInput, type MongoJsonObject, type MongoJsonPrimitive, type MongoJsonValue, type MongoModelDefinition, type MongoModelStorage, type MongoModelsMap, type MongoNamespace, type MongoNamespaceEntries, MongoStorage, type MongoStorageCappedShape, type MongoStorageClusteredIndexShape, type MongoStorageInput, type MongoStorageShape, MongoTimeSeriesCollectionOptions, type MongoTimeSeriesCollectionOptionsInput, type MongoTimeSeriesGranularity, type MongoTypeMaps, type MongoTypeMapsPhantomKey, type MongoUnboundFieldInputTypes, type MongoUnboundFieldOutputTypes, MongoUnboundNamespace, MongoValidator, type MongoValidatorInput, type MongoValidatorValidationAction, type MongoValidatorValidationLevel, MongoValueSet, type MongoValueSetInput, type MongoWildcardProjection, type PolymorphicIndexScope, type RootModelName, StorageValueSetSchema, applyPolymorphicScopeToMongoIndex, buildMongoContractView, buildMongoNamespace, createMongoContractSchema, createMongoNamespaceEnvelopeSchema, defaultMongoDomainNamespaceId, defaultMongoStorageNamespaceId, validateMongoStorage };
@@ -0,0 +1,3 @@
1
+ import { a as MongoContractSchema, c as MongoTimeSeriesCollectionOptions, d as StorageValueSetSchema, h as createMongoNamespaceEnvelopeSchema, i as MongoCollectionOptions, l as MongoValidator, m as createMongoContractSchema, n as MongoCollationOptions, o as MongoIndex, r as MongoCollection, s as MongoIndexOptionDefaults, t as MongoChangeStreamPreAndPostImagesOptions, u as MongoValueSet } from "./entity-kinds-B4KNTF8z-DPIuUuuB.mjs";
2
+ import { a as applyPolymorphicScopeToMongoIndex, c as defaultMongoDomainNamespaceId, i as MongoUnboundNamespace, l as defaultMongoStorageNamespaceId, n as MongoIndexOptions, o as buildMongoContractView, r as MongoStorage, s as buildMongoNamespace, t as MongoClusteredCollectionOptions, u as validateMongoStorage } from "./dist-DHrEJnhK.mjs";
3
+ export { MongoChangeStreamPreAndPostImagesOptions, MongoClusteredCollectionOptions, MongoCollationOptions, MongoCollection, MongoCollectionOptions, MongoContractSchema, MongoIndex, MongoIndexOptionDefaults, MongoIndexOptions, MongoStorage, MongoTimeSeriesCollectionOptions, MongoUnboundNamespace, MongoValidator, MongoValueSet, StorageValueSetSchema, applyPolymorphicScopeToMongoIndex, buildMongoContractView, buildMongoNamespace, createMongoContractSchema, createMongoNamespaceEnvelopeSchema, defaultMongoDomainNamespaceId, defaultMongoStorageNamespaceId, validateMongoStorage };
@@ -0,0 +1,9 @@
1
+ import { PreserveEmptyPredicate } from "@prisma/orm-framework/contract/hashing";
2
+ //#region ../../../2-mongo-family/1-foundation/mongo-contract/dist/canonicalization-hooks.d.mts
3
+ //#region src/canonicalization-hooks.d.ts
4
+ declare const mongoContractCanonicalizationHooks: {
5
+ readonly shouldPreserveEmpty: PreserveEmptyPredicate;
6
+ };
7
+ //#endregion
8
+ export { mongoContractCanonicalizationHooks };
9
+ //# sourceMappingURL=contract__canonicalization-hooks.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract__canonicalization-hooks.d.mts","names":[],"sources":["../../../../2-mongo-family/1-foundation/mongo-contract/dist/canonicalization-hooks.d.mts"],"mappings":";;;cAEc;WACH,qBAAqB"}
@@ -0,0 +1,2 @@
1
+ import { t as mongoContractCanonicalizationHooks } from "./canonicalization-hooks-DF3Z6sjO.mjs";
2
+ export { mongoContractCanonicalizationHooks };
@@ -0,0 +1,17 @@
1
+ import { nt as MongoValueSet, rt as MongoValueSetInput, v as MongoCollection, y as MongoCollectionInput } from "./mongo-value-set-tNn9-pun-dJYx_rVD.mjs";
2
+ import { AnyEntityKindDescriptor, EntityKindDescriptor } from "@prisma/orm-framework/components/ir";
3
+ //#region ../../../2-mongo-family/1-foundation/mongo-contract/dist/entity-kinds.d.mts
4
+ //#region src/entity-kinds.d.ts
5
+ declare const collectionEntityKind: EntityKindDescriptor<MongoCollectionInput, MongoCollection>;
6
+ declare const valueSetEntityKind: EntityKindDescriptor<MongoValueSetInput, MongoValueSet>;
7
+ /**
8
+ * Assembles the `kind → descriptor` registry for Mongo namespaces: the built-in
9
+ * `collection` kind plus any target `packKinds`. This builds the lookup table —
10
+ * it does not touch contract data. `hydrateNamespaceEntities` later consumes
11
+ * this registry to turn a namespace's raw entries into IR instances. Throws on
12
+ * a duplicate kind.
13
+ */
14
+ declare function composeMongoEntityKinds(packKinds?: readonly AnyEntityKindDescriptor[]): ReadonlyMap<string, AnyEntityKindDescriptor>;
15
+ //#endregion
16
+ export { collectionEntityKind, composeMongoEntityKinds, valueSetEntityKind };
17
+ //# sourceMappingURL=contract__entity-kinds.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract__entity-kinds.d.mts","names":[],"sources":["../../../../2-mongo-family/1-foundation/mongo-contract/dist/entity-kinds.d.mts"],"mappings":";;;;cAGc,sBAAsB,qBAAqB,sBAAsB;cACjE,oBAAoB,qBAAqB,oBAAoB;;;;;;;;iBAQ1D,wBAAwB,qBAAqB,4BAA4B,oBAAoB"}
@@ -0,0 +1,2 @@
1
+ import { f as collectionEntityKind, g as valueSetEntityKind, p as composeMongoEntityKinds } from "./entity-kinds-B4KNTF8z-DPIuUuuB.mjs";
2
+ export { collectionEntityKind, composeMongoEntityKinds, valueSetEntityKind };
@@ -0,0 +1,193 @@
1
+ import { n as CreateCollectionOptions$1, r as CreateIndexesOptions, t as CollationOptions } from "./mongodb-types-B4HmhF1S.mjs";
2
+ import { A as MongoIndexKey, j as MongoIndexKeyDirection } from "./mongo-value-set-tNn9-pun-dJYx_rVD.mjs";
3
+ import "./index-Cd2zLiU6.mjs";
4
+ import { B as MongoFilterExpr, D as MongoAstNode, rt as MongoQueryPlan } from "./query-plan-C0-Yu8hf-DdilEdW6.mjs";
5
+ import { MigrationPlanOperation } from "@prisma/orm-framework/components/control";
6
+ //#region ../../../2-mongo-family/4-query/query-ast/dist/exports/control.d.mts
7
+ //#region src/inspection-commands.d.ts
8
+ declare class ListIndexesCommand extends MongoAstNode {
9
+ readonly kind: "listIndexes";
10
+ readonly collection: string;
11
+ constructor(collection: string);
12
+ accept<R>(visitor: MongoInspectionCommandVisitor<R>): R;
13
+ }
14
+ declare class ListCollectionsCommand extends MongoAstNode {
15
+ readonly kind: "listCollections";
16
+ constructor();
17
+ accept<R>(visitor: MongoInspectionCommandVisitor<R>): R;
18
+ }
19
+ type AnyMongoInspectionCommand = ListIndexesCommand | ListCollectionsCommand;
20
+ //#endregion
21
+ //#region src/ddl-visitors.d.ts
22
+ interface MongoDdlCommandVisitor<R> {
23
+ createIndex(command: CreateIndexCommand): R;
24
+ dropIndex(command: DropIndexCommand): R;
25
+ createCollection(command: CreateCollectionCommand): R;
26
+ dropCollection(command: DropCollectionCommand): R;
27
+ collMod(command: CollModCommand): R;
28
+ }
29
+ interface MongoInspectionCommandVisitor<R> {
30
+ listIndexes(command: ListIndexesCommand): R;
31
+ listCollections(command: ListCollectionsCommand): R;
32
+ }
33
+ //#endregion
34
+ //#region src/ddl-commands.d.ts
35
+ interface CreateIndexOptions {
36
+ readonly unique?: boolean;
37
+ readonly sparse?: boolean;
38
+ readonly expireAfterSeconds?: number;
39
+ readonly partialFilterExpression?: Record<string, unknown>;
40
+ readonly name?: string;
41
+ readonly wildcardProjection?: Record<string, 0 | 1>;
42
+ readonly collation?: CollationOptions;
43
+ readonly weights?: Record<string, number>;
44
+ readonly default_language?: string;
45
+ readonly language_override?: string;
46
+ }
47
+ declare class CreateIndexCommand extends MongoAstNode implements CreateIndexesOptions {
48
+ readonly kind: "createIndex";
49
+ readonly collection: string;
50
+ readonly keys: ReadonlyArray<MongoIndexKey>;
51
+ readonly unique?: boolean;
52
+ readonly sparse?: boolean;
53
+ readonly expireAfterSeconds?: number;
54
+ readonly partialFilterExpression?: Record<string, unknown>;
55
+ readonly name?: string;
56
+ readonly wildcardProjection?: Record<string, 0 | 1>;
57
+ readonly collation?: CollationOptions;
58
+ readonly weights?: Record<string, number>;
59
+ readonly default_language?: string;
60
+ readonly language_override?: string;
61
+ constructor(collection: string, keys: ReadonlyArray<MongoIndexKey>, options?: CreateIndexOptions);
62
+ accept<R>(visitor: MongoDdlCommandVisitor<R>): R;
63
+ }
64
+ declare class DropIndexCommand extends MongoAstNode {
65
+ readonly kind: "dropIndex";
66
+ readonly collection: string;
67
+ readonly name: string;
68
+ constructor(collection: string, name: string);
69
+ accept<R>(visitor: MongoDdlCommandVisitor<R>): R;
70
+ }
71
+ interface CreateCollectionOptions {
72
+ readonly validator?: Record<string, unknown>;
73
+ readonly validationLevel?: 'strict' | 'moderate';
74
+ readonly validationAction?: 'error' | 'warn';
75
+ readonly capped?: boolean;
76
+ readonly size?: number;
77
+ readonly max?: number;
78
+ readonly timeseries?: {
79
+ timeField: string;
80
+ metaField?: string;
81
+ granularity?: 'seconds' | 'minutes' | 'hours';
82
+ };
83
+ readonly collation?: CollationOptions;
84
+ readonly changeStreamPreAndPostImages?: {
85
+ enabled: boolean;
86
+ };
87
+ readonly clusteredIndex?: {
88
+ key: Record<string, number>;
89
+ unique: boolean;
90
+ name?: string;
91
+ };
92
+ }
93
+ declare class CreateCollectionCommand extends MongoAstNode implements CreateCollectionOptions$1 {
94
+ readonly kind: "createCollection";
95
+ readonly collection: string;
96
+ readonly validator?: Record<string, unknown>;
97
+ readonly validationLevel?: 'strict' | 'moderate';
98
+ readonly validationAction?: 'error' | 'warn';
99
+ readonly capped?: boolean;
100
+ readonly size?: number;
101
+ readonly max?: number;
102
+ readonly timeseries?: {
103
+ timeField: string;
104
+ metaField?: string;
105
+ granularity?: 'seconds' | 'minutes' | 'hours';
106
+ };
107
+ readonly collation?: CollationOptions;
108
+ readonly changeStreamPreAndPostImages?: {
109
+ enabled: boolean;
110
+ };
111
+ readonly clusteredIndex?: {
112
+ key: Record<string, number>;
113
+ unique: boolean;
114
+ name?: string;
115
+ };
116
+ constructor(collection: string, options?: CreateCollectionOptions);
117
+ accept<R>(visitor: MongoDdlCommandVisitor<R>): R;
118
+ }
119
+ declare class DropCollectionCommand extends MongoAstNode {
120
+ readonly kind: "dropCollection";
121
+ readonly collection: string;
122
+ constructor(collection: string);
123
+ accept<R>(visitor: MongoDdlCommandVisitor<R>): R;
124
+ }
125
+ interface CollModOptions {
126
+ readonly validator?: Record<string, unknown>;
127
+ readonly validationLevel?: 'strict' | 'moderate';
128
+ readonly validationAction?: 'error' | 'warn';
129
+ readonly changeStreamPreAndPostImages?: {
130
+ enabled: boolean;
131
+ };
132
+ }
133
+ declare class CollModCommand extends MongoAstNode {
134
+ readonly kind: "collMod";
135
+ readonly collection: string;
136
+ readonly validator?: Record<string, unknown>;
137
+ readonly validationLevel?: 'strict' | 'moderate';
138
+ readonly validationAction?: 'error' | 'warn';
139
+ readonly changeStreamPreAndPostImages?: {
140
+ enabled: boolean;
141
+ };
142
+ constructor(collection: string, options: CollModOptions);
143
+ accept<R>(visitor: MongoDdlCommandVisitor<R>): R;
144
+ }
145
+ type AnyMongoDdlCommand = CreateIndexCommand | DropIndexCommand | CreateCollectionCommand | DropCollectionCommand | CollModCommand;
146
+ //#endregion
147
+ //#region src/migration-helpers.d.ts
148
+ declare function buildIndexOpId(verb: 'create' | 'drop', collection: string, keys: ReadonlyArray<MongoIndexKey>): string;
149
+ declare function defaultMongoIndexName(keys: ReadonlyArray<MongoIndexKey>): string;
150
+ declare function keysToKeySpec(keys: ReadonlyArray<MongoIndexKey>): Record<string, MongoIndexKeyDirection>;
151
+ //#endregion
152
+ //#region src/migration-operation-types.d.ts
153
+ interface MongoMigrationCheck {
154
+ readonly description: string;
155
+ readonly source: AnyMongoInspectionCommand;
156
+ readonly filter: MongoFilterExpr;
157
+ readonly expect: 'exists' | 'notExists';
158
+ }
159
+ interface MongoMigrationStep {
160
+ readonly description: string;
161
+ readonly command: AnyMongoDdlCommand;
162
+ }
163
+ interface MongoMigrationPlanOperation extends MigrationPlanOperation {
164
+ readonly precheck: readonly MongoMigrationCheck[];
165
+ readonly execute: readonly MongoMigrationStep[];
166
+ readonly postcheck: readonly MongoMigrationCheck[];
167
+ }
168
+ interface MongoDataTransformCheck {
169
+ readonly description: string;
170
+ readonly source: MongoQueryPlan;
171
+ readonly filter: MongoFilterExpr;
172
+ readonly expect: 'exists' | 'notExists';
173
+ }
174
+ interface MongoDataTransformOperation extends MigrationPlanOperation {
175
+ readonly operationClass: 'data';
176
+ /**
177
+ * Human-readable label for this data transform.
178
+ */
179
+ readonly name: string;
180
+ /**
181
+ * Optional opt-in routing identity. Presence opts the transform into
182
+ * invariant-aware routing; absence means the transform is
183
+ * path-dependent and not referenceable from refs.
184
+ */
185
+ readonly invariantId?: string;
186
+ readonly precheck: readonly MongoDataTransformCheck[];
187
+ readonly run: readonly MongoQueryPlan[];
188
+ readonly postcheck: readonly MongoDataTransformCheck[];
189
+ }
190
+ type AnyMongoMigrationOperation = MongoMigrationPlanOperation | MongoDataTransformOperation;
191
+ //#endregion
192
+ export { keysToKeySpec as C, defaultMongoIndexName as S, MongoInspectionCommandVisitor as _, CollModOptions as a, MongoMigrationStep as b, CreateIndexCommand as c, DropIndexCommand as d, ListCollectionsCommand as f, MongoDdlCommandVisitor as g, MongoDataTransformOperation as h, CollModCommand as i, CreateIndexOptions as l, MongoDataTransformCheck as m, AnyMongoInspectionCommand as n, CreateCollectionCommand as o, ListIndexesCommand as p, AnyMongoMigrationOperation as r, CreateCollectionOptions as s, AnyMongoDdlCommand as t, DropCollectionCommand as u, MongoMigrationCheck as v, buildIndexOpId as x, MongoMigrationPlanOperation as y };
193
+ //# sourceMappingURL=control-C7-kthr1.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-C7-kthr1.d.mts","names":[],"sources":["../../../../2-mongo-family/4-query/query-ast/dist/exports/control.d.mts"],"mappings":";;;;;;;cAKc,2BAA2B;WAC9B;WACA;EACT,YAAY;EACZ,OAAO,GAAG,SAAS,8BAA8B,KAAK;;cAE1C,+BAA+B;WAClC;EACT;EACA,OAAO,GAAG,SAAS,8BAA8B,KAAK;;KAEnD,4BAA4B,qBAAqB;;;UAG5C,uBAAuB;EAC/B,YAAY,SAAS,qBAAqB;EAC1C,UAAU,SAAS,mBAAmB;EACtC,iBAAiB,SAAS,0BAA0B;EACpD,eAAe,SAAS,wBAAwB;EAChD,QAAQ,SAAS,iBAAiB;;UAE1B,8BAA8B;EACtC,YAAY,SAAS,qBAAqB;EAC1C,gBAAgB,SAAS,yBAAyB;;;;UAI1C;WACC;WACA;WACA;WACA,0BAA0B;WAC1B;WACA,qBAAqB;WACrB,YAAY;WACZ,UAAU;WACV;WACA;;cAEG,2BAA2B,wBAAwB;WACtD;WACA;WACA,MAAM,cAAc;WACpB;WACA;WACA;WACA,0BAA0B;WAC1B;WACA,qBAAqB;WACrB,YAAY;WACZ,UAAU;WACV;WACA;EACT,YAAY,oBAAoB,MAAM,cAAc,gBAAkB,UAAU;EAChF,OAAO,GAAG,SAAS,uBAAuB,KAAK;;cAEnC,yBAAyB;WAC5B;WACA;WACA;EACT,YAAY,oBAAoB;EAChC,OAAO,GAAG,SAAS,uBAAuB,KAAK;;UAEvC;WACC,YAAY;WACZ;WACA;WACA;WACA;WACA;WACA;IACP;IACA;IACA;;WAEO,YAAY;WACZ;IACP;;WAEO;IACP,KAAK;IACL;IACA;;;cAGU,gCAAgC,wBAAwB;WAC3D;WACA;WACA,YAAY;WACZ;WACA;WACA;WACA;WACA;WACA;IACP;IACA;IACA;;WAEO,YAAY;WACZ;IACP;;WAEO;IACP,KAAK;IACL;IACA;;EAEF,YAAY,oBAAoB,UAAU;EAC1C,OAAO,GAAG,SAAS,uBAAuB,KAAK;;cAEnC,8BAA8B;WACjC;WACA;EACT,YAAY;EACZ,OAAO,GAAG,SAAS,uBAAuB,KAAK;;UAEvC;WACC,YAAY;WACZ;WACA;WACA;IACP;;;cAGU,uBAAuB;WAC1B;WACA;WACA,YAAY;WACZ;WACA;WACA;IACP;;EAEF,YAAY,oBAAoB,SAAS;EACzC,OAAO,GAAG,SAAS,uBAAuB,KAAK;;KAE5C,qBAAqB,qBAAqB,mBAAmB,0BAA0B,wBAAwB;;;iBAGnG,eAAe,yBAAyB,oBAAoB,MAAM,cAAc;iBAChF,sBAAsB,MAAM,cAAc;iBAC1C,cAAc,MAAM,cAAc,iBAAmB,eAAe;;;UAG3E;WACC;WACA,QAAQ;WACR,QAAQ;WACR;;UAED;WACC;WACA,SAAS;;UAEV,oCAAoC;WACnC,mBAAmB;WACnB,kBAAkB;WAClB,oBAAoB;;UAErB;WACC;WACA,QAAQ;WACR,QAAQ;WACR;;UAED,oCAAoC;WACnC;;;;WAIA;;;;;;WAMA;WACA,mBAAmB;WACnB,cAAc;WACd,oBAAoB;;KAE1B,6BAA6B,8BAA8B"}
@@ -0,0 +1,127 @@
1
+ import { n as MongoAstNode } from "./filter-expressions-Uo8ZdzwB-53qnqceS.mjs";
2
+ //#region ../../../2-mongo-family/4-query/query-ast/dist/exports/control.mjs
3
+ var CreateIndexCommand = class extends MongoAstNode {
4
+ kind = "createIndex";
5
+ collection;
6
+ keys;
7
+ constructor(collection, keys, options) {
8
+ super();
9
+ this.collection = collection;
10
+ this.keys = keys;
11
+ if (options?.unique !== void 0) this.unique = options.unique;
12
+ if (options?.sparse !== void 0) this.sparse = options.sparse;
13
+ if (options?.expireAfterSeconds !== void 0) this.expireAfterSeconds = options.expireAfterSeconds;
14
+ if (options?.partialFilterExpression !== void 0) this.partialFilterExpression = options.partialFilterExpression;
15
+ if (options?.name !== void 0) this.name = options.name;
16
+ if (options?.wildcardProjection !== void 0) this.wildcardProjection = options.wildcardProjection;
17
+ if (options?.collation !== void 0) this.collation = options.collation;
18
+ if (options?.weights !== void 0) this.weights = options.weights;
19
+ if (options?.default_language !== void 0) this.default_language = options.default_language;
20
+ if (options?.language_override !== void 0) this.language_override = options.language_override;
21
+ this.freeze();
22
+ }
23
+ accept(visitor) {
24
+ return visitor.createIndex(this);
25
+ }
26
+ };
27
+ var DropIndexCommand = class extends MongoAstNode {
28
+ kind = "dropIndex";
29
+ collection;
30
+ name;
31
+ constructor(collection, name) {
32
+ super();
33
+ this.collection = collection;
34
+ this.name = name;
35
+ this.freeze();
36
+ }
37
+ accept(visitor) {
38
+ return visitor.dropIndex(this);
39
+ }
40
+ };
41
+ var CreateCollectionCommand = class extends MongoAstNode {
42
+ kind = "createCollection";
43
+ collection;
44
+ constructor(collection, options) {
45
+ super();
46
+ this.collection = collection;
47
+ if (options?.validator !== void 0) this.validator = options.validator;
48
+ if (options?.validationLevel !== void 0) this.validationLevel = options.validationLevel;
49
+ if (options?.validationAction !== void 0) this.validationAction = options.validationAction;
50
+ if (options?.capped !== void 0) this.capped = options.capped;
51
+ if (options?.size !== void 0) this.size = options.size;
52
+ if (options?.max !== void 0) this.max = options.max;
53
+ if (options?.timeseries !== void 0) this.timeseries = options.timeseries;
54
+ if (options?.collation !== void 0) this.collation = options.collation;
55
+ if (options?.changeStreamPreAndPostImages !== void 0) this.changeStreamPreAndPostImages = options.changeStreamPreAndPostImages;
56
+ if (options?.clusteredIndex !== void 0) this.clusteredIndex = options.clusteredIndex;
57
+ this.freeze();
58
+ }
59
+ accept(visitor) {
60
+ return visitor.createCollection(this);
61
+ }
62
+ };
63
+ var DropCollectionCommand = class extends MongoAstNode {
64
+ kind = "dropCollection";
65
+ collection;
66
+ constructor(collection) {
67
+ super();
68
+ this.collection = collection;
69
+ this.freeze();
70
+ }
71
+ accept(visitor) {
72
+ return visitor.dropCollection(this);
73
+ }
74
+ };
75
+ var CollModCommand = class extends MongoAstNode {
76
+ kind = "collMod";
77
+ collection;
78
+ constructor(collection, options) {
79
+ super();
80
+ this.collection = collection;
81
+ if (options.validator !== void 0) this.validator = options.validator;
82
+ if (options.validationLevel !== void 0) this.validationLevel = options.validationLevel;
83
+ if (options.validationAction !== void 0) this.validationAction = options.validationAction;
84
+ if (options.changeStreamPreAndPostImages !== void 0) this.changeStreamPreAndPostImages = options.changeStreamPreAndPostImages;
85
+ this.freeze();
86
+ }
87
+ accept(visitor) {
88
+ return visitor.collMod(this);
89
+ }
90
+ };
91
+ var ListIndexesCommand = class extends MongoAstNode {
92
+ kind = "listIndexes";
93
+ collection;
94
+ constructor(collection) {
95
+ super();
96
+ this.collection = collection;
97
+ this.freeze();
98
+ }
99
+ accept(visitor) {
100
+ return visitor.listIndexes(this);
101
+ }
102
+ };
103
+ var ListCollectionsCommand = class extends MongoAstNode {
104
+ kind = "listCollections";
105
+ constructor() {
106
+ super();
107
+ this.freeze();
108
+ }
109
+ accept(visitor) {
110
+ return visitor.listCollections(this);
111
+ }
112
+ };
113
+ function buildIndexOpId(verb, collection, keys) {
114
+ return `index.${collection}.${verb}(${keys.map((k) => `${k.field}:${k.direction}`).join(",")})`;
115
+ }
116
+ function defaultMongoIndexName(keys) {
117
+ return keys.map((k) => `${k.field}_${k.direction}`).join("_");
118
+ }
119
+ function keysToKeySpec(keys) {
120
+ const spec = {};
121
+ for (const k of keys) spec[k.field] = k.direction;
122
+ return spec;
123
+ }
124
+ //#endregion
125
+ export { DropIndexCommand as a, buildIndexOpId as c, DropCollectionCommand as i, defaultMongoIndexName as l, CreateCollectionCommand as n, ListCollectionsCommand as o, CreateIndexCommand as r, ListIndexesCommand as s, CollModCommand as t, keysToKeySpec as u };
126
+
127
+ //# sourceMappingURL=control-CClR5JMr.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-CClR5JMr.mjs","names":[],"sources":["../../../../2-mongo-family/4-query/query-ast/dist/exports/control.mjs"],"sourcesContent":["import { a as MongoNotExpr, i as MongoFieldFilter, l as MongoAstNode, n as MongoExistsExpr, o as MongoOrExpr, r as MongoExprFilter, t as MongoAndExpr } from \"../filter-expressions-Uo8ZdzwB.mjs\";\n//#region src/ddl-commands.ts\nvar CreateIndexCommand = class extends MongoAstNode {\n\tkind = \"createIndex\";\n\tcollection;\n\tkeys;\n\tconstructor(collection, keys, options) {\n\t\tsuper();\n\t\tthis.collection = collection;\n\t\tthis.keys = keys;\n\t\tif (options?.unique !== void 0) this.unique = options.unique;\n\t\tif (options?.sparse !== void 0) this.sparse = options.sparse;\n\t\tif (options?.expireAfterSeconds !== void 0) this.expireAfterSeconds = options.expireAfterSeconds;\n\t\tif (options?.partialFilterExpression !== void 0) this.partialFilterExpression = options.partialFilterExpression;\n\t\tif (options?.name !== void 0) this.name = options.name;\n\t\tif (options?.wildcardProjection !== void 0) this.wildcardProjection = options.wildcardProjection;\n\t\tif (options?.collation !== void 0) this.collation = options.collation;\n\t\tif (options?.weights !== void 0) this.weights = options.weights;\n\t\tif (options?.default_language !== void 0) this.default_language = options.default_language;\n\t\tif (options?.language_override !== void 0) this.language_override = options.language_override;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.createIndex(this);\n\t}\n};\nvar DropIndexCommand = class extends MongoAstNode {\n\tkind = \"dropIndex\";\n\tcollection;\n\tname;\n\tconstructor(collection, name) {\n\t\tsuper();\n\t\tthis.collection = collection;\n\t\tthis.name = name;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.dropIndex(this);\n\t}\n};\nvar CreateCollectionCommand = class extends MongoAstNode {\n\tkind = \"createCollection\";\n\tcollection;\n\tconstructor(collection, options) {\n\t\tsuper();\n\t\tthis.collection = collection;\n\t\tif (options?.validator !== void 0) this.validator = options.validator;\n\t\tif (options?.validationLevel !== void 0) this.validationLevel = options.validationLevel;\n\t\tif (options?.validationAction !== void 0) this.validationAction = options.validationAction;\n\t\tif (options?.capped !== void 0) this.capped = options.capped;\n\t\tif (options?.size !== void 0) this.size = options.size;\n\t\tif (options?.max !== void 0) this.max = options.max;\n\t\tif (options?.timeseries !== void 0) this.timeseries = options.timeseries;\n\t\tif (options?.collation !== void 0) this.collation = options.collation;\n\t\tif (options?.changeStreamPreAndPostImages !== void 0) this.changeStreamPreAndPostImages = options.changeStreamPreAndPostImages;\n\t\tif (options?.clusteredIndex !== void 0) this.clusteredIndex = options.clusteredIndex;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.createCollection(this);\n\t}\n};\nvar DropCollectionCommand = class extends MongoAstNode {\n\tkind = \"dropCollection\";\n\tcollection;\n\tconstructor(collection) {\n\t\tsuper();\n\t\tthis.collection = collection;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.dropCollection(this);\n\t}\n};\nvar CollModCommand = class extends MongoAstNode {\n\tkind = \"collMod\";\n\tcollection;\n\tconstructor(collection, options) {\n\t\tsuper();\n\t\tthis.collection = collection;\n\t\tif (options.validator !== void 0) this.validator = options.validator;\n\t\tif (options.validationLevel !== void 0) this.validationLevel = options.validationLevel;\n\t\tif (options.validationAction !== void 0) this.validationAction = options.validationAction;\n\t\tif (options.changeStreamPreAndPostImages !== void 0) this.changeStreamPreAndPostImages = options.changeStreamPreAndPostImages;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.collMod(this);\n\t}\n};\n//#endregion\n//#region src/inspection-commands.ts\nvar ListIndexesCommand = class extends MongoAstNode {\n\tkind = \"listIndexes\";\n\tcollection;\n\tconstructor(collection) {\n\t\tsuper();\n\t\tthis.collection = collection;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.listIndexes(this);\n\t}\n};\nvar ListCollectionsCommand = class extends MongoAstNode {\n\tkind = \"listCollections\";\n\tconstructor() {\n\t\tsuper();\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.listCollections(this);\n\t}\n};\n//#endregion\n//#region src/migration-helpers.ts\nfunction buildIndexOpId(verb, collection, keys) {\n\treturn `index.${collection}.${verb}(${keys.map((k) => `${k.field}:${k.direction}`).join(\",\")})`;\n}\nfunction defaultMongoIndexName(keys) {\n\treturn keys.map((k) => `${k.field}_${k.direction}`).join(\"_\");\n}\nfunction keysToKeySpec(keys) {\n\tconst spec = {};\n\tfor (const k of keys) spec[k.field] = k.direction;\n\treturn spec;\n}\n//#endregion\nexport { CollModCommand, CreateCollectionCommand, CreateIndexCommand, DropCollectionCommand, DropIndexCommand, ListCollectionsCommand, ListIndexesCommand, MongoAndExpr, MongoExistsExpr, MongoExprFilter, MongoFieldFilter, MongoNotExpr, MongoOrExpr, buildIndexOpId, defaultMongoIndexName, keysToKeySpec };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":"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"}