@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 @@
1
+ {"version":3,"file":"contract-builder-BFq0gOMV.mjs","names":[],"sources":["../../../../2-mongo-family/2-authoring/contract-ts/dist/contract-builder.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { computeProfileHash, computeStorageHash } from \"@internal/contract/hashing\";\nimport { crossRef } from \"@internal/contract/types\";\nimport { bindEnumType, createEntityHelpersFromNamespace, enumType, isEnumTypeHandle, member } from \"@internal/contract-authoring\";\nimport { errorEnumCodecNotInPackStack } from \"@internal/errors/control\";\nimport { assertNoCrossRegistryCollisions, mergeAuthoringNamespaces } from \"@internal/framework-components/authoring\";\nimport { extractCodecLookup } from \"@internal/framework-components/control\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { MongoCollectionOptions, MongoIndex, MongoStorage, applyPolymorphicScopeToMongoIndex, buildMongoNamespace } from \"@internal/mongo-contract\";\nimport { mongoContractCanonicalizationHooks } from \"@internal/mongo-contract/canonicalization-hooks\";\nimport { canonicalStringify } from \"@internal/utils/canonical-stringify\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\n//#region src/contract-builder.ts\n/**\n* Encode an authored enum value to its codec-encoded JSON form, mirroring SQL's `build-contract`.\n*\n* The codec is resolved by id from the lookup built from the contract's target pack, so a\n* non-identity `encodeJson` (permitted by the `mongoCodec` factory) is respected. A codecId the\n* lookup cannot resolve is a hard error: the enum uses a codec that is not part of the contract's\n* pack stack.\n*/\nfunction encodeEnumValue(value, codecId, codecLookup) {\n\tconst codec = codecLookup.get(codecId);\n\tif (!codec) throw errorEnumCodecNotInPackStack({ codecId });\n\treturn codec.encodeJson(value);\n}\nfunction stableStringify(value) {\n\tif (Array.isArray(value)) return `[${value.map(stableStringify).join(\",\")}]`;\n\tif (value && typeof value === \"object\") return `{${Object.entries(value).sort(([left], [right]) => left.localeCompare(right)).map(([key, entry]) => `${JSON.stringify(key)}:${stableStringify(entry)}`).join(\",\")}}`;\n\treturn JSON.stringify(value);\n}\nfunction extractEntitiesNamespace(component) {\n\treturn component.authoring?.entityTypes ?? {};\n}\nconst MONGO_RESERVED_HELPER_KEYS = [\n\t\"field\",\n\t\"index\",\n\t\"model\",\n\t\"rel\",\n\t\"valueObject\"\n];\nfunction composeMongoEntityHelpers(family, target, extensions) {\n\tconst components = [\n\t\tfamily,\n\t\ttarget,\n\t\t...Object.values(extensions ?? {})\n\t];\n\tconst merged = {};\n\tfor (const component of components) {\n\t\tconst ns = extractEntitiesNamespace(component);\n\t\tif (Object.keys(ns).length > 0) mergeAuthoringNamespaces(merged, ns, [], \"entity\", \"entity\");\n\t}\n\tassertNoCrossRegistryCollisions({}, {}, merged);\n\tconst collisions = Object.keys(merged).filter((name) => MONGO_RESERVED_HELPER_KEYS.includes(name));\n\tif (collisions.length > 0) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Pack-contributed entity type(s) ${collisions.map((c) => `\"${c}\"`).join(\", \")} collide with the reserved built-in helper key(s) on the Mongo composed helpers surface. Reserved keys: ${MONGO_RESERVED_HELPER_KEYS.map((k) => `\"${k}\"`).join(\", \")}.`, { meta: {\n\t\treason: \"reserved-helper-key-collision\",\n\t\tcontribution: collisions\n\t} });\n\treturn createEntityHelpersFromNamespace(merged, { ctx: {\n\t\tfamily: family.familyId,\n\t\ttarget: target.targetId\n\t} });\n}\nfunction createFieldBuilder(spec, enumHandle) {\n\treturn {\n\t\t__kind: \"field\",\n\t\t__type: spec.type,\n\t\t__nullable: spec.nullable,\n\t\t__many: spec.many,\n\t\t__enumHandle: blindCast(enumHandle),\n\t\toptional() {\n\t\t\treturn createFieldBuilder({\n\t\t\t\ttype: spec.type,\n\t\t\t\tnullable: true,\n\t\t\t\tmany: spec.many\n\t\t\t}, enumHandle);\n\t\t},\n\t\tmany() {\n\t\t\treturn createFieldBuilder({\n\t\t\t\ttype: spec.type,\n\t\t\t\tnullable: spec.nullable,\n\t\t\t\tmany: true\n\t\t\t}, enumHandle);\n\t\t}\n\t};\n}\nfunction normalizeOptionalTypeParams(typeParams) {\n\tif (!typeParams) return {};\n\treturn { typeParams };\n}\nfunction createScalarFieldBuilder(codecId, options) {\n\treturn createFieldBuilder({\n\t\ttype: {\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId,\n\t\t\t...normalizeOptionalTypeParams(options?.typeParams)\n\t\t},\n\t\tnullable: false,\n\t\tmany: false\n\t});\n}\nconst field = {\n\tscalar: createScalarFieldBuilder,\n\tobjectId() {\n\t\treturn createScalarFieldBuilder(\"mongo/objectId@1\");\n\t},\n\tstring() {\n\t\treturn createScalarFieldBuilder(\"mongo/string@1\");\n\t},\n\tdouble() {\n\t\treturn createScalarFieldBuilder(\"mongo/double@1\");\n\t},\n\tint32() {\n\t\treturn createScalarFieldBuilder(\"mongo/int32@1\");\n\t},\n\tbool() {\n\t\treturn createScalarFieldBuilder(\"mongo/bool@1\");\n\t},\n\tdate() {\n\t\treturn createScalarFieldBuilder(\"mongo/date@1\");\n\t},\n\tvector(options) {\n\t\treturn createScalarFieldBuilder(\"mongo/vector@1\", options);\n\t},\n\tvalueObject(valueObjectName) {\n\t\treturn createFieldBuilder({\n\t\t\ttype: {\n\t\t\t\tkind: \"valueObject\",\n\t\t\t\tname: resolveValueObjectName(valueObjectName)\n\t\t\t},\n\t\t\tnullable: false,\n\t\t\tmany: false\n\t\t});\n\t},\n\tnamedType(handle) {\n\t\treturn createFieldBuilder({\n\t\t\ttype: blindCast({\n\t\t\t\tkind: \"scalar\",\n\t\t\t\tcodecId: handle.codecId\n\t\t\t}),\n\t\t\tnullable: false,\n\t\t\tmany: false\n\t\t}, handle);\n\t}\n};\nfunction index(fields, options) {\n\treturn {\n\t\tfields,\n\t\t...options ? { options } : {}\n\t};\n}\nfunction createFieldReference(modelName, fieldName) {\n\treturn {\n\t\t__kind: \"fieldRef\",\n\t\tmodelName,\n\t\tfieldName\n\t};\n}\nfunction isFieldReference(value) {\n\treturn typeof value === \"object\" && value !== null && \"__kind\" in value && value.__kind === \"fieldRef\";\n}\nfunction resolveModelName(value) {\n\treturn typeof value === \"string\" ? value : value.__name;\n}\nfunction resolveValueObjectName(value) {\n\treturn typeof value === \"string\" ? value : value.__name;\n}\nfunction normalizeStringList(value) {\n\treturn typeof value === \"string\" ? [value] : [...value];\n}\nfunction normalizeTargetField(targetModelName, value) {\n\tif (!isFieldReference(value)) return value;\n\tif (value.modelName !== targetModelName) throw contractError(\"CONTRACT.RELATION_INVALID\", `Relation target \"${targetModelName}\" cannot reference field \"${value.modelName}.${value.fieldName}\".`, { meta: {\n\t\tmodelName: targetModelName,\n\t\treason: \"cross-model-field-reference\",\n\t\treferencedModel: value.modelName,\n\t\treferencedField: value.fieldName\n\t} });\n\treturn value.fieldName;\n}\nfunction normalizeTargetFields(targetModelName, value) {\n\tif (typeof value === \"string\") return [value];\n\tif (isFieldReference(value)) return [normalizeTargetField(targetModelName, value)];\n\treturn value.map((entry) => normalizeTargetField(targetModelName, entry));\n}\nfunction createRelationBuilder(spec) {\n\treturn {\n\t\t__kind: \"relation\",\n\t\t__to: spec.to,\n\t\t__cardinality: spec.cardinality,\n\t\t__on: spec.on\n\t};\n}\nfunction createReferenceRelationBuilder(target, cardinality, options) {\n\tconst targetModelName = resolveModelName(target);\n\treturn createRelationBuilder({\n\t\tto: targetModelName,\n\t\tcardinality,\n\t\ton: {\n\t\t\tlocalFields: normalizeStringList(options.from),\n\t\t\ttargetFields: normalizeTargetFields(targetModelName, options.to)\n\t\t}\n\t});\n}\nfunction createEmbedRelationBuilder(target, cardinality) {\n\treturn createRelationBuilder({\n\t\tto: resolveModelName(target),\n\t\tcardinality,\n\t\ton: void 0\n\t});\n}\nfunction hasOne(target, options) {\n\tif (!options) return createEmbedRelationBuilder(target, \"1:1\");\n\treturn createReferenceRelationBuilder(target, \"1:1\", options);\n}\nfunction hasMany(target, options) {\n\tif (!options) return createEmbedRelationBuilder(target, \"1:N\");\n\treturn createReferenceRelationBuilder(target, \"1:N\", options);\n}\nfunction belongsTo(target, options) {\n\treturn createReferenceRelationBuilder(target, \"N:1\", options);\n}\nconst rel = {\n\tbelongsTo,\n\thasMany,\n\thasOne\n};\nfunction valueObject(name, input) {\n\treturn {\n\t\t__kind: \"valueObject\",\n\t\t__name: name,\n\t\t__fields: input.fields\n\t};\n}\nfunction model(name, input) {\n\treturn {\n\t\t__kind: \"model\",\n\t\t__name: name,\n\t\t__fields: input.fields,\n\t\t__relations: input.relations ?? {},\n\t\t__indexes: input.indexes,\n\t\t__collectionOptions: input.collectionOptions,\n\t\t__controlPolicy: input.controlPolicy,\n\t\t__collection: input.collection,\n\t\t__owner: input.owner ? resolveModelName(input.owner) : void 0,\n\t\t__base: input.base ? resolveModelName(input.base) : void 0,\n\t\t__storageRelations: input.storageRelations,\n\t\t__discriminator: input.discriminator ? { field: input.discriminator.field } : void 0,\n\t\t__variants: input.discriminator?.variants,\n\t\tref(fieldName) {\n\t\t\treturn createFieldReference(name, fieldName);\n\t\t}\n\t};\n}\nfunction validateTargetPackRef(family, target) {\n\tif (family.familyId !== \"mongo\") throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `defineContract only accepts Mongo family packs. Received family \"${family.familyId}\".`, { meta: {\n\t\tpackId: family.id,\n\t\tpackFamilyId: family.familyId,\n\t\tcontractFamilyId: \"mongo\"\n\t} });\n\tif (target.familyId !== family.familyId) throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `target pack \"${target.id}\" targets family \"${target.familyId}\" but contract family is \"${family.familyId}\".`, { meta: {\n\t\tpackId: target.id,\n\t\tpackFamilyId: target.familyId,\n\t\tcontractFamilyId: family.familyId\n\t} });\n}\nfunction validateExtensionPackRefs(target, extensions) {\n\tif (!extensions) return;\n\tfor (const packRef of Object.values(extensions)) {\n\t\tif (packRef.kind !== \"extension\") throw contractError(\"CONTRACT.PACK_REF_INVALID\", `defineContract only accepts extension pack refs in extensions. Received kind \"${packRef.kind}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tkind: packRef.kind\n\t\t} });\n\t\tif (packRef.familyId !== target.familyId) throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `extension pack \"${packRef.id}\" targets family \"${packRef.familyId}\" but contract target family is \"${target.familyId}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tpackFamilyId: packRef.familyId,\n\t\t\tcontractFamilyId: target.familyId\n\t\t} });\n\t\tif (packRef.targetId && packRef.targetId !== target.targetId) throw contractError(\"CONTRACT.PACK_TARGET_MISMATCH\", `extension pack \"${packRef.id}\" targets \"${packRef.targetId}\" but contract target is \"${target.targetId}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tpackTargetId: packRef.targetId,\n\t\t\tcontractTargetId: target.targetId\n\t\t} });\n\t}\n}\nfunction isContractScaffold(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\treturn \"family\" in value && \"target\" in value;\n}\nfunction buildContractField(builder) {\n\tconst valueSet = builder.__enumHandle ? {\n\t\tplane: \"domain\",\n\t\tentityKind: \"enum\",\n\t\tnamespaceId: UNBOUND_NAMESPACE_ID,\n\t\tentityName: builder.__enumHandle.enumName\n\t} : void 0;\n\treturn builder.__many ? {\n\t\ttype: builder.__type,\n\t\tnullable: builder.__nullable,\n\t\tmany: true,\n\t\t...ifDefined(\"valueSet\", valueSet)\n\t} : {\n\t\ttype: builder.__type,\n\t\tnullable: builder.__nullable,\n\t\t...ifDefined(\"valueSet\", valueSet)\n\t};\n}\nfunction buildFields(fields) {\n\tconst builtFields = {};\n\tfor (const [fieldName, fieldBuilder] of Object.entries(fields)) builtFields[fieldName] = buildContractField(fieldBuilder);\n\treturn builtFields;\n}\nfunction buildRelation(relationBuilder) {\n\tconst to = crossRef(relationBuilder.__to, UNBOUND_NAMESPACE_ID);\n\treturn relationBuilder.__on ? {\n\t\tto,\n\t\tcardinality: relationBuilder.__cardinality,\n\t\ton: relationBuilder.__on\n\t} : {\n\t\tto,\n\t\tcardinality: relationBuilder.__cardinality\n\t};\n}\nfunction buildRelations(relations) {\n\tconst builtRelations = {};\n\tfor (const [relationName, relationBuilder] of Object.entries(relations)) builtRelations[relationName] = buildRelation(relationBuilder);\n\treturn builtRelations;\n}\nfunction buildValueObjects(valueObjects) {\n\tconst builtValueObjects = {};\n\tfor (const valueObjectBuilder of Object.values(valueObjects ?? {})) {\n\t\tif (valueObjectBuilder.__name in builtValueObjects) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Duplicate value object name \"${valueObjectBuilder.__name}\" in defineContract().`, { meta: {\n\t\t\tkind: \"valueObject\",\n\t\t\tname: valueObjectBuilder.__name\n\t\t} });\n\t\tbuiltValueObjects[valueObjectBuilder.__name] = { fields: buildFields(valueObjectBuilder.__fields) };\n\t}\n\treturn builtValueObjects;\n}\nfunction buildModels(models) {\n\tconst builtModels = {};\n\tfor (const modelBuilder of Object.values(models ?? {})) {\n\t\tif (modelBuilder.__name in builtModels) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Duplicate model name \"${modelBuilder.__name}\" in defineContract().`, { meta: {\n\t\t\tkind: \"model\",\n\t\t\tname: modelBuilder.__name\n\t\t} });\n\t\tconst storage = {\n\t\t\t...modelBuilder.__collection ? { collection: modelBuilder.__collection } : {},\n\t\t\t...modelBuilder.__storageRelations ? { relations: modelBuilder.__storageRelations } : {}\n\t\t};\n\t\tbuiltModels[modelBuilder.__name] = {\n\t\t\tfields: buildFields(modelBuilder.__fields),\n\t\t\trelations: buildRelations(modelBuilder.__relations),\n\t\t\tstorage,\n\t\t\t...modelBuilder.__owner ? { owner: modelBuilder.__owner } : {},\n\t\t\t...modelBuilder.__base ? { base: crossRef(modelBuilder.__base, UNBOUND_NAMESPACE_ID) } : {},\n\t\t\t...modelBuilder.__discriminator ? { discriminator: modelBuilder.__discriminator } : {},\n\t\t\t...modelBuilder.__variants ? { variants: modelBuilder.__variants } : {}\n\t\t};\n\t}\n\treturn builtModels;\n}\nfunction deriveRoots(models) {\n\tconst roots = {};\n\tfor (const modelBuilder of Object.values(models ?? {})) {\n\t\tif (!modelBuilder.__collection || modelBuilder.__owner || modelBuilder.__base) continue;\n\t\troots[modelBuilder.__collection] = crossRef(modelBuilder.__name, UNBOUND_NAMESPACE_ID);\n\t}\n\treturn roots;\n}\nfunction normalizeRoots(roots) {\n\tconst normalizedRoots = {};\n\tfor (const [rootName, rootValue] of Object.entries(roots ?? {})) normalizedRoots[rootName] = crossRef(resolveModelName(rootValue), UNBOUND_NAMESPACE_ID);\n\treturn normalizedRoots;\n}\nfunction toStorageIndex(index) {\n\tconst input = { keys: Object.entries(index.fields).map(([field, direction]) => ({\n\t\tfield,\n\t\tdirection\n\t})) };\n\tif (index.options) {\n\t\tfor (const [key, value] of Object.entries(index.options)) if (value !== void 0) input[key] = value;\n\t}\n\treturn new MongoIndex(input);\n}\nfunction toStorageCollectionOptions(opts) {\n\treturn new MongoCollectionOptions({\n\t\t...opts.capped ? { capped: {\n\t\t\tsize: opts.size ?? 0,\n\t\t\t...opts.max != null && { max: opts.max }\n\t\t} } : {},\n\t\t...ifDefined(\"storageEngine\", opts.storageEngine),\n\t\t...ifDefined(\"indexOptionDefaults\", opts.indexOptionDefaults),\n\t\t...ifDefined(\"collation\", opts.collation),\n\t\t...ifDefined(\"timeseries\", opts.timeseries),\n\t\t...opts.clusteredIndex !== void 0 && { clusteredIndex: opts.clusteredIndex.name !== void 0 ? { name: opts.clusteredIndex.name } : {} },\n\t\t...ifDefined(\"expireAfterSeconds\", opts.expireAfterSeconds),\n\t\t...ifDefined(\"changeStreamPreAndPostImages\", opts.changeStreamPreAndPostImages)\n\t});\n}\nfunction findMissingIndexField(index, modelFields) {\n\tfor (const fieldName of Object.keys(index.fields)) {\n\t\tconst wildcardMatch = fieldName.match(/^(.+)\\.\\$\\*\\*$/);\n\t\tconst lookupName = wildcardMatch ? wildcardMatch[1] : fieldName;\n\t\tif (lookupName === void 0 || lookupName.length === 0) continue;\n\t\tif (lookupName === \"$**\") continue;\n\t\tif (!Object.hasOwn(modelFields, lookupName)) return lookupName;\n\t}\n}\nfunction resolveVariantScope(modelBuilder, modelsByName) {\n\tif (!modelBuilder.__base) return void 0;\n\tconst baseBuilder = modelsByName[modelBuilder.__base];\n\tif (!baseBuilder) return void 0;\n\tconst discriminatorField = baseBuilder.__discriminator?.field;\n\tconst variantValue = baseBuilder.__variants?.[modelBuilder.__name]?.value;\n\tif (!discriminatorField || variantValue === void 0) return void 0;\n\treturn {\n\t\tdiscriminatorField,\n\t\tdiscriminatorValue: variantValue\n\t};\n}\nfunction scopeVariantIndex(storageIndex, scope, variantName, authoredIndex) {\n\tconst result = applyPolymorphicScopeToMongoIndex(storageIndex, scope);\n\tif (result.kind === \"conflict\") {\n\t\tconst indexLabel = authoredIndex ? canonicalStringify(authoredIndex) : \"<unknown>\";\n\t\tthrow contractError(\"CONTRACT.INDEX_INVALID\", `Variant model \"${variantName}\" index ${indexLabel} conflicts with discriminator scope: ${result.reason}`, { meta: {\n\t\t\tvariantName,\n\t\t\tindexLabel,\n\t\t\treason: result.reason\n\t\t} });\n\t}\n\treturn result.index;\n}\nfunction buildCollections(models) {\n\tconst intermediate = {};\n\tconst declaredIndexOwners = /* @__PURE__ */ new Map();\n\tconst modelMap = models ?? {};\n\tconst modelsByName = {};\n\tfor (const builder of Object.values(modelMap)) modelsByName[builder.__name] = builder;\n\tfor (const modelBuilder of Object.values(modelMap)) {\n\t\tif (!modelBuilder.__collection) {\n\t\t\tif (modelBuilder.__indexes && modelBuilder.__indexes.length > 0) throw contractError(\"CONTRACT.COLLECTION_INVALID\", `Model \"${modelBuilder.__name}\" defines indexes but has no collection to attach them to.`, { meta: {\n\t\t\t\tmodelName: modelBuilder.__name,\n\t\t\t\treason: \"indexes-without-collection\"\n\t\t\t} });\n\t\t\tif (modelBuilder.__collectionOptions) throw contractError(\"CONTRACT.COLLECTION_INVALID\", `Model \"${modelBuilder.__name}\" defines collectionOptions but has no collection to attach them to.`, { meta: {\n\t\t\t\tmodelName: modelBuilder.__name,\n\t\t\t\treason: \"collectionOptions-without-collection\"\n\t\t\t} });\n\t\t\tif (modelBuilder.__controlPolicy) throw contractError(\"CONTRACT.COLLECTION_INVALID\", `Model \"${modelBuilder.__name}\" defines controlPolicy but has no collection to attach it to.`, { meta: {\n\t\t\t\tmodelName: modelBuilder.__name,\n\t\t\t\treason: \"controlPolicy-without-collection\"\n\t\t\t} });\n\t\t\tcontinue;\n\t\t}\n\t\tconst existingCollection = intermediate[modelBuilder.__collection] ?? {};\n\t\tconst existingIndexes = existingCollection.indexes ?? [];\n\t\tif (existingCollection.options && modelBuilder.__collectionOptions) throw contractError(\"CONTRACT.COLLECTION_INVALID\", `Collection \"${modelBuilder.__collection}\" has collectionOptions declared by multiple models. Author collectionOptions on a single model per collection.`, { meta: {\n\t\t\tmodelName: modelBuilder.__name,\n\t\t\tcollection: modelBuilder.__collection,\n\t\t\treason: \"collectionOptions-declared-by-multiple-models\"\n\t\t} });\n\t\tif (existingCollection.control !== void 0 && modelBuilder.__controlPolicy) throw contractError(\"CONTRACT.COLLECTION_INVALID\", `Collection \"${modelBuilder.__collection}\" has controlPolicy declared by multiple models. Author controlPolicy on a single model per collection.`, { meta: {\n\t\t\tmodelName: modelBuilder.__name,\n\t\t\tcollection: modelBuilder.__collection,\n\t\t\treason: \"controlPolicy-declared-by-multiple-models\"\n\t\t} });\n\t\tfor (const collectionIndex of modelBuilder.__indexes ?? []) {\n\t\t\tconst missingField = findMissingIndexField(collectionIndex, modelBuilder.__fields);\n\t\t\tif (missingField !== void 0) {\n\t\t\t\tconst indexSignature = canonicalStringify(collectionIndex);\n\t\t\t\tthrow contractError(\"CONTRACT.FIELD_UNKNOWN\", `Model \"${modelBuilder.__name}\" index ${indexSignature} references unknown field \"${missingField}\".`, { meta: {\n\t\t\t\t\tmodelName: modelBuilder.__name,\n\t\t\t\t\tfieldName: missingField,\n\t\t\t\t\tindexSignature\n\t\t\t\t} });\n\t\t\t}\n\t\t}\n\t\tconst polymorphicScope = resolveVariantScope(modelBuilder, modelsByName);\n\t\tconst rawStorageIndexes = (modelBuilder.__indexes ?? []).map(toStorageIndex);\n\t\tconst storageIndexes = polymorphicScope ? rawStorageIndexes.map((idx, i) => scopeVariantIndex(idx, polymorphicScope, modelBuilder.__name, modelBuilder.__indexes?.[i])) : rawStorageIndexes;\n\t\tfor (let i = 0; i < storageIndexes.length; i++) {\n\t\t\tconst storageIndex = storageIndexes[i];\n\t\t\tif (storageIndex === void 0) continue;\n\t\t\tconst indexSignature = stableStringify(storageIndex);\n\t\t\tconst collectionIndexKey = `${modelBuilder.__collection}:${indexSignature}`;\n\t\t\tconst firstOwner = declaredIndexOwners.get(collectionIndexKey);\n\t\t\tif (firstOwner) {\n\t\t\t\tconst authoredIndex = modelBuilder.__indexes?.[i];\n\t\t\t\tconst reportedSignature = authoredIndex ? canonicalStringify(authoredIndex) : indexSignature;\n\t\t\t\tthrow contractError(\"CONTRACT.NAME_DUPLICATE\", `Collection \"${modelBuilder.__collection}\" defines duplicate index ${reportedSignature}. First declared on model \"${firstOwner}\" and duplicated on model \"${modelBuilder.__name}\".`, { meta: {\n\t\t\t\t\tkind: \"index\",\n\t\t\t\t\tname: reportedSignature,\n\t\t\t\t\tcollection: modelBuilder.__collection,\n\t\t\t\t\tfirst: firstOwner,\n\t\t\t\t\tsecond: modelBuilder.__name\n\t\t\t\t} });\n\t\t\t}\n\t\t\tdeclaredIndexOwners.set(collectionIndexKey, modelBuilder.__name);\n\t\t}\n\t\tconst storageOptions = modelBuilder.__collectionOptions ? toStorageCollectionOptions(modelBuilder.__collectionOptions) : void 0;\n\t\tconst controlPatch = modelBuilder.__controlPolicy !== void 0 ? { control: modelBuilder.__controlPolicy } : {};\n\t\tintermediate[modelBuilder.__collection] = storageIndexes.length > 0 ? {\n\t\t\t...existingCollection,\n\t\t\tindexes: [...existingIndexes, ...storageIndexes],\n\t\t\t...storageOptions ? { options: storageOptions } : {},\n\t\t\t...controlPatch\n\t\t} : storageOptions ? {\n\t\t\t...existingCollection,\n\t\t\toptions: storageOptions,\n\t\t\t...controlPatch\n\t\t} : Object.keys(controlPatch).length > 0 ? {\n\t\t\t...existingCollection,\n\t\t\t...controlPatch\n\t\t} : existingCollection;\n\t}\n\treturn intermediate;\n}\nfunction buildContractFromDefinition(definition) {\n\tvalidateTargetPackRef(definition.family, definition.target);\n\tvalidateExtensionPackRefs(definition.target, definition.extensions);\n\tconst builtModels = buildModels(definition.models);\n\tconst builtValueObjects = buildValueObjects(definition.valueObjects);\n\tconst roots = definition.roots ? normalizeRoots(definition.roots) : deriveRoots(definition.models);\n\tconst capabilities = {};\n\tconst collections = buildCollections(definition.models);\n\tconst codecLookup = extractCodecLookup([definition.target]);\n\tconst storageValueSets = {};\n\tfor (const [enumName, handle] of Object.entries(definition.enums ?? {})) storageValueSets[enumName] = {\n\t\tkind: \"valueSet\",\n\t\tvalues: handle.values.map((v) => encodeEnumValue(v, handle.codecId, codecLookup))\n\t};\n\tconst unboundNamespace = buildMongoNamespace({\n\t\tid: UNBOUND_NAMESPACE_ID,\n\t\tentries: {\n\t\t\tcollection: collections,\n\t\t\t...ifDefined(\"valueSet\", Object.keys(storageValueSets).length > 0 ? storageValueSets : void 0)\n\t\t}\n\t});\n\tconst storageBody = { namespaces: { [UNBOUND_NAMESPACE_ID]: {\n\t\tid: UNBOUND_NAMESPACE_ID,\n\t\tcollections: unboundNamespace.entries.collection,\n\t\t...ifDefined(\"valueSet\", unboundNamespace.entries.valueSet)\n\t} } };\n\tconst storage = new MongoStorage({\n\t\tstorageHash: computeStorageHash({\n\t\t\ttarget: definition.target.targetId,\n\t\t\ttargetFamily: definition.family.familyId,\n\t\t\tstorage: storageBody,\n\t\t\t...mongoContractCanonicalizationHooks\n\t\t}),\n\t\tnamespaces: { [UNBOUND_NAMESPACE_ID]: unboundNamespace }\n\t});\n\tconst builtEnums = {};\n\tfor (const [enumName, handle] of Object.entries(definition.enums ?? {})) {\n\t\tif (enumName !== handle.enumName) throw contractError(\"CONTRACT.ENUM_INVALID\", `enum declaration key \"${enumName}\" must match enumType name \"${handle.enumName}\". Aliases are not supported.`, { meta: {\n\t\t\tenumName: handle.enumName,\n\t\t\tdeclaredKey: enumName,\n\t\t\treason: \"declaration-key-mismatch\"\n\t\t} });\n\t\tbuiltEnums[enumName] = {\n\t\t\tcodecId: handle.codecId,\n\t\t\tmembers: handle.enumMembers.map((m) => ({\n\t\t\t\tname: m.name,\n\t\t\t\tvalue: encodeEnumValue(m.value, handle.codecId, codecLookup)\n\t\t\t}))\n\t\t};\n\t}\n\tconst hasEnums = Object.keys(builtEnums).length > 0;\n\tfor (const [modelName, modelBuilder] of Object.entries(definition.models ?? {})) for (const [fieldName, fieldBuilder] of Object.entries(modelBuilder.__fields)) {\n\t\tconst handle = fieldBuilder.__enumHandle;\n\t\tif (handle && !(handle.enumName in builtEnums)) throw contractError(\"CONTRACT.ENUM_UNKNOWN\", `Model \"${modelName}\" field \"${fieldName}\" references enum \"${handle.enumName}\" which is not declared in defineContract({ enums: { ... } }).`, { meta: {\n\t\t\tmodelName,\n\t\t\tfieldName,\n\t\t\tenumName: handle.enumName\n\t\t} });\n\t}\n\treturn blindCast({\n\t\ttarget: definition.target.targetId,\n\t\ttargetFamily: definition.family.familyId,\n\t\t...ifDefined(\"defaultControlPolicy\", definition.defaultControlPolicy),\n\t\troots,\n\t\tdomain: { namespaces: { [UNBOUND_NAMESPACE_ID]: {\n\t\t\tmodels: builtModels,\n\t\t\t...Object.keys(builtValueObjects).length > 0 ? { valueObjects: builtValueObjects } : {},\n\t\t\t...hasEnums ? { enum: builtEnums } : {}\n\t\t} } },\n\t\tstorage,\n\t\tcapabilities,\n\t\textensions: definition.extensions ?? {},\n\t\tprofileHash: computeProfileHash({\n\t\t\ttarget: definition.target.targetId,\n\t\t\ttargetFamily: definition.family.familyId,\n\t\t\tcapabilities\n\t\t}),\n\t\tmeta: {}\n\t});\n}\n/** Implementation. */\nfunction buildBoundContract(family, target, definition, factory) {\n\tconst full = {\n\t\t...definition,\n\t\tfamily,\n\t\ttarget\n\t};\n\tif (factory !== void 0) {\n\t\tconst built = factory({\n\t\t\t...composeMongoEntityHelpers(family, target, definition.extensions),\n\t\t\tfield,\n\t\t\tindex,\n\t\t\tmodel,\n\t\t\trel,\n\t\t\tvalueObject\n\t\t});\n\t\treturn buildContractFromDefinition({\n\t\t\t...full,\n\t\t\t...ifDefined(\"models\", built.models),\n\t\t\t...ifDefined(\"valueObjects\", built.valueObjects),\n\t\t\t...ifDefined(\"roots\", built.roots)\n\t\t});\n\t}\n\treturn buildContractFromDefinition(full);\n}\nfunction defineContract(definition, factory) {\n\tif (!isContractScaffold(definition)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"defineContract expects a contract definition object. Define your contract with defineContract({ family, target, models, ... }).\");\n\tif (factory !== void 0) return buildBoundContract(definition.family, definition.target, definition, factory);\n\treturn buildBoundContract(definition.family, definition.target, definition);\n}\n//#endregion\nexport { bindEnumType, buildBoundContract, defineContract, enumType, field, index, isEnumTypeHandle, member, model, rel, valueObject };\n\n//# sourceMappingURL=contract-builder.mjs.map"],"mappings":"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"}
@@ -0,0 +1,445 @@
1
+ import { E as MongoIndexAuthoringInput, F as MongoIndexOptionsInput, J as MongoTypeMaps, O as MongoIndexFields, W as MongoStorageShape, v as MongoCollection, w as MongoContractWithTypeMaps, x as MongoCollectionOptionsAuthoringInput } from "./mongo-value-set-tNn9-pun-dJYx_rVD.mjs";
2
+ import "./index-Cd2zLiU6.mjs";
3
+ import { ContractFieldType, ControlPolicy, CrossReference, ProfileHashBase, StorageHashBase } from "@prisma/orm-framework/contract/types";
4
+ import { UNBOUND_NAMESPACE_ID } from "@prisma/orm-framework/components/ir";
5
+ import { BoundEnumType, CodecTypeMap, EntityHelpersFromNamespace, EnumMember, EnumTypeHandle, ExtractAuthoringNamespaceFromPack, MergeExtensionAuthoringNamespaces, bindEnumType, enumType, isEnumTypeHandle, member } from "@prisma/orm-framework/contract-authoring";
6
+ import { ExtensionPackRef, FamilyPackRef, TargetPackRef } from "@prisma/orm-framework/components/components";
7
+ //#region ../../../2-mongo-family/2-authoring/contract-ts/dist/contract-builder.d.mts
8
+ //#region src/contract-builder.d.ts
9
+ type VariantSpec = {
10
+ readonly value: string;
11
+ };
12
+ type StorageRelationSpec = {
13
+ readonly field: string;
14
+ };
15
+ type StringListInput = string | readonly string[];
16
+ type Present<T> = Exclude<T, undefined>;
17
+ type EmptyObject = Record<never, never>;
18
+ type Simplify<T> = { [K in keyof T]: T[K]; } & EmptyObject;
19
+ type StrictShape<Actual, Shape> = Actual & Shape & Record<Exclude<keyof Actual, keyof Shape>, never>;
20
+ type UnionToIntersection<Union> = (Union extends unknown ? (value: Union) => void : never) extends ((value: infer Intersection) => void) ? Intersection : never;
21
+ type ExtractCodecTypesFromPack<P> = P extends {
22
+ __codecTypes?: infer CodecTypes;
23
+ } ? CodecTypes extends Record<string, {
24
+ output: unknown;
25
+ }> ? CodecTypes : Record<string, never> : Record<string, never>;
26
+ type MongoCodecTypes = {
27
+ readonly 'mongo/objectId@1': {
28
+ readonly input: string;
29
+ readonly output: string;
30
+ };
31
+ readonly 'mongo/string@1': {
32
+ readonly input: string;
33
+ readonly output: string;
34
+ };
35
+ readonly 'mongo/double@1': {
36
+ readonly input: number;
37
+ readonly output: number;
38
+ };
39
+ readonly 'mongo/int32@1': {
40
+ readonly input: number;
41
+ readonly output: number;
42
+ };
43
+ readonly 'mongo/bool@1': {
44
+ readonly input: boolean;
45
+ readonly output: boolean;
46
+ };
47
+ readonly 'mongo/date@1': {
48
+ readonly input: Date;
49
+ readonly output: Date;
50
+ };
51
+ readonly 'mongo/vector@1': {
52
+ readonly input: readonly number[];
53
+ readonly output: readonly number[];
54
+ };
55
+ };
56
+ type MergeExtensionCodecTypes<Packs extends Record<string, unknown>> = UnionToIntersection<{ [K in keyof Packs]: ExtractCodecTypesFromPack<Packs[K]>; }[keyof Packs]>;
57
+ type MergeExtensionCodecTypesSafe<Packs> = Packs extends Record<string, unknown> ? keyof Packs extends never ? Record<string, never> : MergeExtensionCodecTypes<Packs> : Record<string, never>;
58
+ interface FieldBuilder<Type extends ContractFieldType = ContractFieldType, Nullable extends boolean = boolean, Many extends boolean = boolean, Handle extends EnumTypeHandle | undefined = EnumTypeHandle | undefined> {
59
+ readonly __kind: 'field';
60
+ readonly __type: Type;
61
+ readonly __nullable: Nullable;
62
+ readonly __many: Many;
63
+ readonly __enumHandle: Handle;
64
+ optional(): FieldBuilder<Type, true, Many, Handle>;
65
+ many(): FieldBuilder<Type, Nullable, true, Handle>;
66
+ }
67
+ interface ValueObjectBuilder<Name extends string = string, Fields extends Record<string, FieldBuilder> = Record<string, FieldBuilder>> {
68
+ readonly __kind: 'valueObject';
69
+ readonly __name: Name;
70
+ readonly __fields: Fields;
71
+ }
72
+ interface FieldReference<ModelName extends string = string, FieldName extends string = string> {
73
+ readonly __kind: 'fieldRef';
74
+ readonly modelName: ModelName;
75
+ readonly fieldName: FieldName;
76
+ }
77
+ interface RelationOn<LocalFields extends readonly string[] = readonly string[], TargetFields extends readonly string[] = readonly string[]> {
78
+ readonly localFields: LocalFields;
79
+ readonly targetFields: TargetFields;
80
+ }
81
+ interface RelationBuilder<To extends string = string, Cardinality extends '1:1' | '1:N' | 'N:1' = '1:1' | '1:N' | 'N:1', On extends RelationOn | undefined = RelationOn | undefined> {
82
+ readonly __kind: 'relation';
83
+ readonly __to: To;
84
+ readonly __cardinality: Cardinality;
85
+ readonly __on: On;
86
+ }
87
+ interface ModelBuilder<Name extends string = string, Fields extends Record<string, FieldBuilder> = Record<string, FieldBuilder>, Relations extends Record<string, RelationBuilder> = Record<string, RelationBuilder>, Collection extends string | undefined = string | undefined, Owner extends string | undefined = string | undefined, Base extends string | undefined = string | undefined, StorageRelations extends Record<string, StorageRelationSpec> | undefined = Record<string, StorageRelationSpec> | undefined, Discriminator extends {
88
+ readonly field: string;
89
+ } | undefined = {
90
+ readonly field: string;
91
+ } | undefined, Variants extends Record<string, VariantSpec> | undefined = Record<string, VariantSpec> | undefined> {
92
+ readonly __kind: 'model';
93
+ readonly __name: Name;
94
+ readonly __fields: Fields;
95
+ readonly __relations: Relations;
96
+ readonly __indexes: readonly MongoIndexAuthoringInput[] | undefined;
97
+ readonly __collectionOptions: MongoCollectionOptionsAuthoringInput | undefined;
98
+ readonly __controlPolicy: ControlPolicy | undefined;
99
+ readonly __collection: Collection;
100
+ readonly __owner: Owner;
101
+ readonly __base: Base;
102
+ readonly __storageRelations: StorageRelations;
103
+ readonly __discriminator: Discriminator;
104
+ readonly __variants: Variants;
105
+ ref<const FieldName extends keyof Fields & string>(fieldName: FieldName): FieldReference<Name, FieldName>;
106
+ }
107
+ type AnyFieldBuilder = FieldBuilder<ContractFieldType, boolean, boolean, EnumTypeHandle | undefined>;
108
+ type AnyReferenceRelationBuilder = RelationBuilder<string, '1:1' | '1:N' | 'N:1', RelationOn>;
109
+ type AnyEmbedRelationBuilder = RelationBuilder<string, '1:1' | '1:N', undefined>;
110
+ type AnyRelationBuilder = AnyReferenceRelationBuilder | AnyEmbedRelationBuilder;
111
+ type AnyFieldReference = FieldReference<string, string>;
112
+ type NamedValueObjectBuilder<Name extends string = string, Fields extends Record<string, AnyFieldBuilder> = Record<string, AnyFieldBuilder>> = ValueObjectBuilder<Name, Fields>;
113
+ type AnyValueObjectBuilder = NamedValueObjectBuilder;
114
+ type NamedModelBuilder<Name extends string = string, Fields extends Record<string, AnyFieldBuilder> = Record<string, AnyFieldBuilder>, Relations extends Record<string, AnyRelationBuilder> = Record<string, AnyRelationBuilder>, Collection extends string | undefined = string | undefined, Owner extends string | undefined = string | undefined, Base extends string | undefined = string | undefined, StorageRelations extends Record<string, StorageRelationSpec> | undefined = Record<string, StorageRelationSpec> | undefined, Discriminator extends {
115
+ readonly field: string;
116
+ } | undefined = {
117
+ readonly field: string;
118
+ } | undefined, Variants extends Record<string, VariantSpec> | undefined = Record<string, VariantSpec> | undefined> = ModelBuilder<Name, Fields, Relations, Collection, Owner, Base, StorageRelations, Discriminator, Variants>;
119
+ type AnyModelBuilder = NamedModelBuilder;
120
+ type ExtractFieldReferenceName<T> = T extends FieldReference<string, infer FieldName extends string> ? FieldName : never;
121
+ type ExtractModelName<T> = T extends NamedModelBuilder<infer Name> ? Name : never;
122
+ type ExtractValueObjectName<T> = T extends NamedValueObjectBuilder<infer Name> ? Name : never;
123
+ type ExtractModelCollection<T> = T extends NamedModelBuilder<string, Record<string, AnyFieldBuilder>, Record<string, AnyRelationBuilder>, infer Collection> ? Collection : never;
124
+ type ExtractModelOwner<T> = T extends NamedModelBuilder<string, Record<string, AnyFieldBuilder>, Record<string, AnyRelationBuilder>, string | undefined, infer Owner> ? Owner : never;
125
+ type ExtractModelBase<T> = T extends NamedModelBuilder<string, Record<string, AnyFieldBuilder>, Record<string, AnyRelationBuilder>, string | undefined, string | undefined, infer Base> ? Base : never;
126
+ type ExtractModelStorageRelations<T> = T extends NamedModelBuilder<string, Record<string, AnyFieldBuilder>, Record<string, AnyRelationBuilder>, string | undefined, string | undefined, string | undefined, infer StorageRelations> ? StorageRelations : never;
127
+ type ModelStorageSection<T> = ExtractModelCollection<T> extends string ? {
128
+ readonly collection: ExtractModelCollection<T>;
129
+ } : EmptyObject;
130
+ type ModelStorageRelationsSection<T> = ExtractModelStorageRelations<T> extends Record<string, StorageRelationSpec> ? keyof ExtractModelStorageRelations<T> extends never ? EmptyObject : {
131
+ readonly relations: ExtractModelStorageRelations<T>;
132
+ } : EmptyObject;
133
+ type RootModelCollection<T> = ExtractModelCollection<T> extends string ? ExtractModelOwner<T> extends undefined ? ExtractModelBase<T> extends undefined ? ExtractModelCollection<T> : never : never : never;
134
+ type RootModelName<T> = RootModelCollection<T> extends never ? never : ExtractModelName<T>;
135
+ type CollectionName<T> = ExtractModelCollection<T> extends string ? ExtractModelCollection<T> : never;
136
+ type ModelNameInput = string | AnyModelBuilder;
137
+ type ValueObjectNameInput = string | AnyValueObjectBuilder;
138
+ type RelationTargetFieldsInput<TargetName extends string> = StringListInput | FieldReference<TargetName, string> | readonly FieldReference<TargetName, string>[];
139
+ type NormalizeModelName<T> = T extends string ? T : ExtractModelName<T>;
140
+ type NormalizeModelNameOrUndefined<T> = [T] extends [undefined] ? undefined : NormalizeModelName<Present<T>>;
141
+ type NormalizeValueObjectName<T> = T extends string ? T : ExtractValueObjectName<T>;
142
+ type NormalizeStringList<T> = T extends readonly string[] ? T : T extends string ? readonly [T] : readonly string[];
143
+ type NormalizeTargetFieldList<T> = T extends readonly AnyFieldReference[] ? { readonly [K in keyof T]: ExtractFieldReferenceName<T[K]>; } : T extends AnyFieldReference ? readonly [ExtractFieldReferenceName<T>] : NormalizeStringList<T>;
144
+ type ContractFieldFromBuilder<TBuilder> = TBuilder extends FieldBuilder<infer Type extends ContractFieldType, infer Nullable extends boolean, infer Many extends boolean> ? Simplify<{
145
+ readonly type: Type;
146
+ readonly nullable: Nullable;
147
+ } & (Many extends true ? {
148
+ readonly many: true;
149
+ } : EmptyObject)> : never;
150
+ type ContractFieldsFromRecord<Fields extends Record<string, AnyFieldBuilder>> = Simplify<{ readonly [K in keyof Fields]: ContractFieldFromBuilder<Fields[K]>; }>;
151
+ type ContractValueObjectFromBuilder<TBuilder> = TBuilder extends ValueObjectBuilder<string, infer Fields extends Record<string, AnyFieldBuilder>> ? Simplify<{
152
+ readonly fields: ContractFieldsFromRecord<Fields>;
153
+ }> : never;
154
+ type ContractValueObjectsFromRecord<ValueObjects extends Record<string, AnyValueObjectBuilder>> = Simplify<{ readonly [K in keyof ValueObjects as ExtractValueObjectName<ValueObjects[K]>]: ContractValueObjectFromBuilder<ValueObjects[K]>; }>;
155
+ type ContractRelationFromBuilder<TBuilder> = TBuilder extends RelationBuilder<infer To extends string, infer Cardinality extends '1:1' | '1:N' | 'N:1', infer On extends RelationOn | undefined> ? On extends RelationOn ? {
156
+ readonly to: CrossRefFor<To>;
157
+ readonly cardinality: Cardinality;
158
+ readonly on: On;
159
+ } : {
160
+ readonly to: CrossRefFor<To>;
161
+ readonly cardinality: Cardinality;
162
+ } : never;
163
+ type ContractRelationsFromRecord<Relations extends Record<string, AnyRelationBuilder>> = keyof Relations extends never ? Record<string, never> : Simplify<{ readonly [K in keyof Relations]: ContractRelationFromBuilder<Relations[K]>; }>;
164
+ type ContractModelStorageFromBuilder<TBuilder> = ModelStorageSection<TBuilder> & ModelStorageRelationsSection<TBuilder>;
165
+ type MaybeOwner<Owner> = [Owner] extends [undefined] ? EmptyObject : {
166
+ readonly owner: Owner & string;
167
+ };
168
+ type MaybeBase<Base> = [Base] extends [undefined] ? EmptyObject : {
169
+ readonly base: CrossRefFor<Base & string>;
170
+ };
171
+ type MaybeDiscriminator<Discriminator> = [Discriminator] extends [undefined] ? EmptyObject : {
172
+ readonly discriminator: Discriminator & {
173
+ readonly field: string;
174
+ };
175
+ };
176
+ type MaybeVariants<Variants> = [Variants] extends [undefined] ? EmptyObject : {
177
+ readonly variants: Variants;
178
+ };
179
+ type ContractModelFromBuilder<TBuilder> = TBuilder extends NamedModelBuilder<string, infer Fields extends Record<string, AnyFieldBuilder>, infer Relations extends Record<string, AnyRelationBuilder>, string | undefined, infer Owner, infer Base, Record<string, StorageRelationSpec> | undefined, infer Discriminator, infer Variants> ? Simplify<{
180
+ readonly fields: ContractFieldsFromRecord<Fields>;
181
+ readonly relations: ContractRelationsFromRecord<Relations>;
182
+ readonly storage: ContractModelStorageFromBuilder<TBuilder>;
183
+ } & MaybeOwner<Owner> & MaybeBase<Base> & MaybeDiscriminator<Discriminator> & MaybeVariants<Variants>> : never;
184
+ type ContractModelsFromRecord<Models extends Record<string, AnyModelBuilder>> = Simplify<{ readonly [K in keyof Models as ExtractModelName<Models[K]>]: ContractModelFromBuilder<Models[K]>; }>;
185
+ type CrossRefFor<M extends string> = CrossReference & {
186
+ readonly model: M;
187
+ };
188
+ type DerivedRootModels<Models extends Record<string, AnyModelBuilder>> = Simplify<{ readonly [K in keyof Models as RootModelCollection<Models[K]>]: CrossRefFor<RootModelName<Models[K]>>; }>;
189
+ type StorageCollectionsFromModels<Models extends Record<string, AnyModelBuilder>> = Simplify<{ readonly [K in keyof Models as CollectionName<Models[K]>]: MongoCollection; }>;
190
+ type NormalizeRoots<Roots extends Record<string, ModelNameInput>> = Simplify<{ readonly [K in keyof Roots]: CrossRefFor<NormalizeModelName<Roots[K]>>; }>;
191
+ type DefinitionModels<Definition> = Definition extends {
192
+ readonly models?: infer Models extends Record<string, AnyModelBuilder>;
193
+ } ? Models : Record<never, never>;
194
+ type DefinitionValueObjects<Definition> = Definition extends {
195
+ readonly valueObjects?: infer ValueObjects extends Record<string, AnyValueObjectBuilder>;
196
+ } ? ValueObjects : Record<never, never>;
197
+ type DefinitionEnums<Definition> = Definition extends {
198
+ readonly enums?: infer E;
199
+ } ? Present<E> extends Record<string, EnumTypeHandle> ? string extends keyof Present<E> ? Record<never, never> : Present<E> : Record<never, never> : Record<never, never>;
200
+ type EnumHandleAccessorType<Handle> = Handle extends EnumTypeHandle<infer _Name, infer Values, infer Names, infer MembersMap> ? {
201
+ readonly values: Values;
202
+ readonly names: Names;
203
+ readonly members: MembersMap;
204
+ has(v: Values[number]): boolean;
205
+ nameOf(v: Values[number]): string | undefined;
206
+ ordinalOf(v: Values[number]): number;
207
+ } : never;
208
+ type BuiltEnumAccessors<Definition> = { readonly [K in keyof DefinitionEnums<Definition>]: EnumHandleAccessorType<DefinitionEnums<Definition>[K]>; };
209
+ type DefinitionRoots<Definition> = Definition extends {
210
+ readonly roots?: infer Roots extends Record<string, ModelNameInput>;
211
+ } ? NormalizeRoots<Roots> : DerivedRootModels<DefinitionModels<Definition>>;
212
+ type DefinitionExtensions<Definition> = Definition extends {
213
+ readonly extensions?: infer Extensions extends Record<string, ExtensionPackRef<string, string>>;
214
+ } ? Extensions : Record<never, never>;
215
+ type DefinitionFamilyId<Definition> = Definition extends {
216
+ readonly family: FamilyPackRef<infer FamilyId>;
217
+ } ? FamilyId : string;
218
+ type DefinitionTargetId<Definition> = Definition extends {
219
+ readonly target: TargetPackRef<string, infer TargetId>;
220
+ } ? TargetId : string;
221
+ type DefinitionStorage<Definition> = Simplify<MongoStorageShape & {
222
+ readonly collections: StorageCollectionsFromModels<DefinitionModels<Definition>>;
223
+ readonly storageHash: StorageHashBase<string>;
224
+ }>;
225
+ type MaybeValueObjectsSection<ValueObjects extends Record<string, AnyValueObjectBuilder>> = keyof ValueObjects extends never ? EmptyObject : {
226
+ readonly valueObjects: ContractValueObjectsFromRecord<ValueObjects>;
227
+ };
228
+ type EnumHandleToEntry<Handle> = Handle extends EnumTypeHandle<string, infer Values, infer _Names, infer _MembersMap> ? {
229
+ readonly codecId: string;
230
+ readonly members: readonly {
231
+ readonly name: string;
232
+ readonly value: Values[number];
233
+ }[];
234
+ } : never;
235
+ type ContractEnumsFromRecord<Enums extends Record<string, EnumTypeHandle>> = { readonly [K in keyof Enums as Enums[K] extends EnumTypeHandle<infer Name> ? Name : never]: EnumHandleToEntry<Enums[K]>; };
236
+ type MaybeEnumsSection<Enums extends Record<string, EnumTypeHandle>> = keyof Enums extends never ? EmptyObject : {
237
+ readonly enum: ContractEnumsFromRecord<Enums>;
238
+ };
239
+ type MongoDomainNamespaceFromDefinition<Definition> = Simplify<{
240
+ readonly models: ContractModelsFromRecord<DefinitionModels<Definition>>;
241
+ } & MaybeValueObjectsSection<DefinitionValueObjects<Definition>> & MaybeEnumsSection<DefinitionEnums<Definition>>>;
242
+ type MongoContractBaseFromDefinition<Definition> = Simplify<{
243
+ readonly target: DefinitionTargetId<Definition>;
244
+ readonly targetFamily: DefinitionFamilyId<Definition>;
245
+ readonly roots: DefinitionRoots<Definition>;
246
+ readonly domain: {
247
+ readonly namespaces: { readonly [K in typeof UNBOUND_NAMESPACE_ID]: MongoDomainNamespaceFromDefinition<Definition>; };
248
+ };
249
+ readonly storage: DefinitionStorage<Definition>;
250
+ readonly capabilities: Record<string, never>;
251
+ readonly extensions: DefinitionExtensions<Definition>;
252
+ readonly profileHash: ProfileHashBase<string>;
253
+ readonly meta: Record<string, never>;
254
+ readonly defaultControlPolicy?: ControlPolicy;
255
+ readonly enumAccessors?: BuiltEnumAccessors<Definition>;
256
+ }>;
257
+ type CodecTypesFromDefinition<Definition> = MongoCodecTypes & MergeExtensionCodecTypesSafe<DefinitionExtensions<Definition>>;
258
+ type BuilderEnumValueUnion<TBuilder> = TBuilder extends FieldBuilder<ContractFieldType, boolean, boolean, infer Handle extends EnumTypeHandle | undefined> ? [Handle] extends [EnumTypeHandle<string, infer Values>] ? readonly unknown[] extends Values ? never : Values[number] : never : never;
259
+ type BuilderBaseChannelType<TBuilder, TValueObjects extends Record<string, AnyValueObjectBuilder>, TCodecTypes extends Record<string, {
260
+ output: unknown;
261
+ input: unknown;
262
+ }>, Channel extends 'output' | 'input'> = TBuilder extends FieldBuilder<infer Type extends ContractFieldType, boolean, boolean, EnumTypeHandle | undefined> ? [BuilderEnumValueUnion<TBuilder>] extends [never] ? Type extends {
263
+ readonly kind: 'scalar';
264
+ readonly codecId: infer CId extends keyof TCodecTypes;
265
+ } ? TCodecTypes[CId][Channel] : Type extends {
266
+ readonly kind: 'valueObject';
267
+ readonly name: infer VOName extends string;
268
+ } ? VOName extends keyof TValueObjects ? { -readonly [K in keyof ExtractValueObjectFields<TValueObjects[VOName]>]: BuilderFieldChannelType<ExtractValueObjectFields<TValueObjects[VOName]>[K], TValueObjects, TCodecTypes, Channel>; } : unknown : unknown : BuilderEnumValueUnion<TBuilder> : never;
269
+ type ExtractValueObjectFields<TBuilder> = TBuilder extends NamedValueObjectBuilder<string, infer Fields> ? Fields : Record<never, never>;
270
+ type BuilderFieldChannelType<TBuilder, TValueObjects extends Record<string, AnyValueObjectBuilder>, TCodecTypes extends Record<string, {
271
+ output: unknown;
272
+ input: unknown;
273
+ }>, Channel extends 'output' | 'input'> = TBuilder extends FieldBuilder<ContractFieldType, infer Nullable extends boolean, infer Many extends boolean, EnumTypeHandle | undefined> ? (Many extends true ? BuilderBaseChannelType<TBuilder, TValueObjects, TCodecTypes, Channel>[] : BuilderBaseChannelType<TBuilder, TValueObjects, TCodecTypes, Channel>) | (Nullable extends true ? null : never) : never;
274
+ type ExtractModelFields<TBuilder> = TBuilder extends NamedModelBuilder<string, infer Fields> ? Fields : Record<never, never>;
275
+ type FieldChannelTypesFromDefinition<Definition, Channel extends 'output' | 'input'> = { readonly [K in typeof UNBOUND_NAMESPACE_ID]: { readonly [ModelKey in keyof DefinitionModels<Definition> as ExtractModelName<DefinitionModels<Definition>[ModelKey]>]: { readonly [FieldName in keyof ExtractModelFields<DefinitionModels<Definition>[ModelKey]>]: BuilderFieldChannelType<ExtractModelFields<DefinitionModels<Definition>[ModelKey]>[FieldName], DefinitionValueObjects<Definition>, CodecTypesFromDefinition<Definition>, Channel>; }; }; };
276
+ type FieldOutputTypesFromDefinition<Definition> = FieldChannelTypesFromDefinition<Definition, 'output'>;
277
+ type FieldInputTypesFromDefinition<Definition> = FieldChannelTypesFromDefinition<Definition, 'input'>;
278
+ type MongoContractResult<Definition> = MongoContractWithTypeMaps<MongoContractBaseFromDefinition<Definition>, MongoTypeMaps<CodecTypesFromDefinition<Definition>, FieldOutputTypesFromDefinition<Definition>, FieldInputTypesFromDefinition<Definition>>>;
279
+ type ExtractEntitiesNamespaceFromPack<Pack> = ExtractAuthoringNamespaceFromPack<Pack, 'entityTypes', Record<never, never>>;
280
+ type MergeExtensionEntityNamespaces<Extensions> = MergeExtensionAuthoringNamespaces<Extensions, 'entityTypes'>;
281
+ type ContractAuthoringHelpers<Family extends FamilyPackRef<string> = FamilyPackRef<string>, Target extends TargetPackRef<string, string> = TargetPackRef<string, string>, Extensions extends Record<string, ExtensionPackRef<string, string>> | undefined = undefined> = EntityHelpersFromNamespace<ExtractEntitiesNamespaceFromPack<Family> & ExtractEntitiesNamespaceFromPack<Target> & MergeExtensionEntityNamespaces<Extensions>> & {
282
+ readonly field: typeof field;
283
+ readonly index: typeof index;
284
+ readonly model: typeof model;
285
+ readonly rel: typeof rel;
286
+ readonly valueObject: typeof valueObject;
287
+ };
288
+ type ContractScaffold<Family extends FamilyPackRef<string>, Target extends TargetPackRef<string, string>, Extensions extends Record<string, ExtensionPackRef<string, string>> | undefined = undefined, Roots extends Record<string, ModelNameInput> | undefined = undefined> = {
289
+ readonly family: Family;
290
+ readonly target: Target;
291
+ readonly extensions?: Extensions;
292
+ readonly roots?: Roots;
293
+ readonly defaultControlPolicy?: ControlPolicy;
294
+ };
295
+ type ContractDefinition<Family extends FamilyPackRef<string>, Target extends TargetPackRef<string, string>, Models extends Record<string, AnyModelBuilder> = Record<never, never>, ValueObjects extends Record<string, AnyValueObjectBuilder> = Record<never, never>, Extensions extends Record<string, ExtensionPackRef<string, string>> | undefined = undefined, Roots extends Record<string, ModelNameInput> | undefined = undefined> = ContractScaffold<Family, Target, Extensions, Roots> & {
296
+ readonly models?: Models;
297
+ readonly valueObjects?: ValueObjects;
298
+ readonly enums?: Record<string, EnumTypeHandle>;
299
+ };
300
+ type ContractFactory<Models extends Record<string, AnyModelBuilder> = Record<never, never>, ValueObjects extends Record<string, AnyValueObjectBuilder> = Record<never, never>, Roots extends Record<string, ModelNameInput> | undefined = undefined, Family extends FamilyPackRef<string> = FamilyPackRef<string>, Target extends TargetPackRef<string, string> = TargetPackRef<string, string>, Extensions extends Record<string, ExtensionPackRef<string, string>> | undefined = undefined> = (helpers: ContractAuthoringHelpers<Family, Target, Extensions>) => {
301
+ readonly models?: Models;
302
+ readonly valueObjects?: ValueObjects;
303
+ readonly roots?: Roots;
304
+ };
305
+ declare function createScalarFieldBuilder<CodecId extends string, TypeParams extends Record<string, unknown> | undefined = undefined>(codecId: CodecId, options?: {
306
+ readonly typeParams?: TypeParams;
307
+ }): FieldBuilder<{
308
+ readonly kind: 'scalar';
309
+ readonly codecId: CodecId;
310
+ } & ([TypeParams] extends [undefined] ? EmptyObject : {
311
+ readonly typeParams: TypeParams;
312
+ }), false, false>;
313
+ declare const field: {
314
+ readonly scalar: typeof createScalarFieldBuilder;
315
+ readonly objectId: () => FieldBuilder<{
316
+ readonly kind: "scalar";
317
+ readonly codecId: "mongo/objectId@1";
318
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
319
+ readonly string: () => FieldBuilder<{
320
+ readonly kind: "scalar";
321
+ readonly codecId: "mongo/string@1";
322
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
323
+ readonly double: () => FieldBuilder<{
324
+ readonly kind: "scalar";
325
+ readonly codecId: "mongo/double@1";
326
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
327
+ readonly int32: () => FieldBuilder<{
328
+ readonly kind: "scalar";
329
+ readonly codecId: "mongo/int32@1";
330
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
331
+ readonly bool: () => FieldBuilder<{
332
+ readonly kind: "scalar";
333
+ readonly codecId: "mongo/bool@1";
334
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
335
+ readonly date: () => FieldBuilder<{
336
+ readonly kind: "scalar";
337
+ readonly codecId: "mongo/date@1";
338
+ } & EmptyObject, false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
339
+ readonly vector: <const TypeParams extends Record<string, unknown> | undefined = undefined>(options?: {
340
+ readonly typeParams?: TypeParams;
341
+ }) => FieldBuilder<{
342
+ readonly kind: "scalar";
343
+ readonly codecId: "mongo/vector@1";
344
+ } & ([TypeParams] extends [undefined] ? EmptyObject : {
345
+ readonly typeParams: TypeParams;
346
+ }), false, false, EnumTypeHandle<string, readonly unknown[], readonly string[], Record<string, unknown>> | undefined>;
347
+ readonly valueObject: <const ValueObject extends ValueObjectNameInput>(valueObjectName: ValueObject) => FieldBuilder<{
348
+ readonly kind: "valueObject";
349
+ readonly name: NormalizeValueObjectName<ValueObject>;
350
+ }, false, false, undefined>;
351
+ readonly namedType: <const Handle extends EnumTypeHandle>(handle: Handle) => FieldBuilder<{
352
+ readonly kind: "scalar";
353
+ readonly codecId: Handle["codecId"];
354
+ }, false, false, Handle>;
355
+ };
356
+ declare function index<const Fields extends MongoIndexFields>(fields: Fields): {
357
+ readonly fields: Fields;
358
+ };
359
+ declare function index<const Fields extends MongoIndexFields, const Options>(fields: Fields, options: StrictShape<Options, MongoIndexOptionsInput>): {
360
+ readonly fields: Fields;
361
+ readonly options: Options & MongoIndexOptionsInput;
362
+ };
363
+ type ReferenceOptions<Target extends ModelNameInput, From extends StringListInput, To extends RelationTargetFieldsInput<NormalizeModelName<Target>>> = {
364
+ readonly from: From;
365
+ readonly to: To;
366
+ };
367
+ type RelationOnFromOptions<From extends StringListInput, To extends RelationTargetFieldsInput<string>> = {
368
+ readonly localFields: NormalizeStringList<From>;
369
+ readonly targetFields: NormalizeTargetFieldList<To>;
370
+ };
371
+ declare function hasOne<const Target extends ModelNameInput>(target: Target): RelationBuilder<NormalizeModelName<Target>, '1:1', undefined>;
372
+ declare function hasOne<const Target extends ModelNameInput, const From extends StringListInput, const To extends RelationTargetFieldsInput<NormalizeModelName<Target>>>(target: Target, options: ReferenceOptions<Target, From, To>): RelationBuilder<NormalizeModelName<Target>, '1:1', RelationOnFromOptions<From, To>>;
373
+ declare function hasMany<const Target extends ModelNameInput>(target: Target): RelationBuilder<NormalizeModelName<Target>, '1:N', undefined>;
374
+ declare function hasMany<const Target extends ModelNameInput, const From extends StringListInput, const To extends RelationTargetFieldsInput<NormalizeModelName<Target>>>(target: Target, options: ReferenceOptions<Target, From, To>): RelationBuilder<NormalizeModelName<Target>, '1:N', RelationOnFromOptions<From, To>>;
375
+ declare function belongsTo<const Target extends ModelNameInput, const From extends StringListInput, const To extends RelationTargetFieldsInput<NormalizeModelName<Target>>>(target: Target, options: ReferenceOptions<Target, From, To>): RelationBuilder<NormalizeModelName<Target>, 'N:1', RelationOnFromOptions<From, To>>;
376
+ declare const rel: {
377
+ readonly belongsTo: typeof belongsTo;
378
+ readonly hasMany: typeof hasMany;
379
+ readonly hasOne: typeof hasOne;
380
+ };
381
+ type ValueObjectInput<Fields extends Record<string, AnyFieldBuilder>> = {
382
+ readonly fields: Fields;
383
+ };
384
+ declare function valueObject<const Name extends string, const Fields extends Record<string, AnyFieldBuilder>>(name: Name, input: ValueObjectInput<Fields>): ValueObjectBuilder<Name, Fields>;
385
+ type ModelDiscriminatorInput<Variants extends Record<string, VariantSpec>> = {
386
+ readonly field: string;
387
+ readonly variants: Variants;
388
+ };
389
+ type ModelInput<Fields extends Record<string, AnyFieldBuilder>, Relations extends Record<string, AnyRelationBuilder> | undefined, Collection extends string | undefined, Indexes extends readonly MongoIndexAuthoringInput[] | undefined, CollectionOptions, Owner extends ModelNameInput | undefined, Base extends ModelNameInput | undefined, StorageRelations extends Record<string, StorageRelationSpec> | undefined, Discriminator extends ModelDiscriminatorInput<Record<string, VariantSpec>> | undefined> = {
390
+ readonly collection?: Collection;
391
+ readonly indexes?: Indexes;
392
+ readonly collectionOptions?: StrictShape<CollectionOptions, MongoCollectionOptionsAuthoringInput>;
393
+ readonly controlPolicy?: ControlPolicy;
394
+ readonly storageRelations?: StorageRelations;
395
+ readonly fields: Fields;
396
+ readonly relations?: Relations;
397
+ readonly owner?: Owner;
398
+ readonly base?: Base;
399
+ readonly discriminator?: Discriminator;
400
+ };
401
+ declare function model<const Name extends string, const Fields extends Record<string, AnyFieldBuilder>, const Relations extends Record<string, AnyRelationBuilder> | undefined = undefined, const Collection extends string | undefined = undefined, const Indexes extends readonly MongoIndexAuthoringInput[] | undefined = undefined, const CollectionOptions = undefined, const Owner extends ModelNameInput | undefined = undefined, const Base extends ModelNameInput | undefined = undefined, const StorageRelations extends Record<string, StorageRelationSpec> | undefined = undefined, const Discriminator extends ModelDiscriminatorInput<Record<string, VariantSpec>> | undefined = undefined>(name: Name, input: ModelInput<Fields, Relations, Collection, Indexes, CollectionOptions, Owner, Base, StorageRelations, Discriminator>): ModelBuilder<Name, Fields, Relations extends Record<string, AnyRelationBuilder> ? Relations : Record<never, never>, Collection, NormalizeModelNameOrUndefined<Owner>, NormalizeModelNameOrUndefined<Base>, StorageRelations, Discriminator extends {
402
+ readonly field: infer Field extends string;
403
+ } ? {
404
+ readonly field: Field;
405
+ } : undefined, Discriminator extends {
406
+ readonly variants: infer Variants extends Record<string, VariantSpec>;
407
+ } ? Variants : undefined>;
408
+ type BoundDefinitionInput<Models extends Record<string, AnyModelBuilder> = Record<never, never>, ValueObjects extends Record<string, AnyValueObjectBuilder> = Record<never, never>, Extensions extends Record<string, ExtensionPackRef<string, string>> | undefined = undefined, Roots extends Record<string, ModelNameInput> | undefined = undefined> = {
409
+ readonly extensions?: Extensions;
410
+ readonly roots?: Roots;
411
+ readonly defaultControlPolicy?: ControlPolicy;
412
+ readonly models?: Models;
413
+ readonly valueObjects?: ValueObjects;
414
+ readonly enums?: Record<string, EnumTypeHandle>;
415
+ };
416
+ type WithFamilyTarget<Input, F extends FamilyPackRef<string>, T extends TargetPackRef<string, string>> = Input & {
417
+ readonly family: F;
418
+ readonly target: T;
419
+ };
420
+ /**
421
+ * Shared builder that assembles a MongoContract with pre-bound family and target.
422
+ * Extension wrappers keep their own public overloads and delegate their impl body here;
423
+ * this is a plain overloaded function (not a factory returning an overloaded function)
424
+ * so no overloaded-function-return cast is needed.
425
+ *
426
+ * Overload 1: definition form (no factory).
427
+ */
428
+ declare function buildBoundContract<const F extends FamilyPackRef<string>, const T extends TargetPackRef<string, string>, const Definition extends BoundDefinitionInput<Record<string, AnyModelBuilder>, Record<string, AnyValueObjectBuilder>, Record<string, ExtensionPackRef<string, string>> | undefined, Record<string, ModelNameInput> | undefined>>(family: F, target: T, definition: Definition, factory?: undefined): MongoContractResult<WithFamilyTarget<Definition, F, T>>;
429
+ /**
430
+ * Overload 2: factory form.
431
+ */
432
+ declare function buildBoundContract<const F extends FamilyPackRef<string>, const T extends TargetPackRef<string, string>, const Definition extends BoundDefinitionInput<Record<string, AnyModelBuilder>, Record<string, AnyValueObjectBuilder>, Record<string, ExtensionPackRef<string, string>> | undefined, Record<string, ModelNameInput> | undefined>, const Built extends {
433
+ readonly models?: Record<string, AnyModelBuilder>;
434
+ readonly valueObjects?: Record<string, AnyValueObjectBuilder>;
435
+ readonly roots?: Record<string, ModelNameInput> | undefined;
436
+ }>(family: F, target: T, definition: Definition, factory: (helpers: ContractAuthoringHelpers<F, T, NonNullable<Definition['extensions']>>) => Built): MongoContractResult<WithFamilyTarget<Definition & Built, F, T>>;
437
+ declare function defineContract<const Definition extends ContractDefinition<FamilyPackRef<string>, TargetPackRef<string, string>, Record<string, AnyModelBuilder>, Record<string, AnyValueObjectBuilder>, Record<string, ExtensionPackRef<string, string>> | undefined, Record<string, ModelNameInput> | undefined>>(definition: Definition): MongoContractResult<Definition>;
438
+ declare function defineContract<const Definition extends ContractScaffold<Family, Target, Extensions, Record<string, ModelNameInput> | undefined>, const Built extends {
439
+ readonly models?: Record<string, AnyModelBuilder>;
440
+ readonly valueObjects?: Record<string, AnyValueObjectBuilder>;
441
+ readonly roots?: Record<string, ModelNameInput> | undefined;
442
+ }, const Family extends FamilyPackRef<string> = FamilyPackRef<string>, const Target extends TargetPackRef<string, string> = TargetPackRef<string, string>, const Extensions extends Record<string, ExtensionPackRef<string, string>> | undefined = undefined>(definition: Definition, factory: (helpers: ContractAuthoringHelpers<Family, Target, Extensions>) => Built): MongoContractResult<Definition & Built>;
443
+ //#endregion
444
+ export { model as C, member as S, valueObject as T, defineContract as _, ContractScaffold as a, index as b, ExtractCodecTypesFromPack as c, ModelBuilder as d, MongoContractResult as f, buildBoundContract as g, bindEnumType as h, ContractFactory as i, FieldBuilder as l, ValueObjectBuilder as m, CodecTypeMap as n, EnumMember as o, RelationBuilder as p, ContractDefinition as r, EnumTypeHandle as s, BoundEnumType as t, FieldReference as u, enumType as v, rel as w, isEnumTypeHandle as x, field as y };
445
+ //# sourceMappingURL=contract-builder-DB8nguDE.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-builder-DB8nguDE.d.mts","names":[],"sources":["../../../../2-mongo-family/2-authoring/contract-ts/dist/contract-builder.d.mts"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { structuredError } from "@prisma/orm-framework/utils/structured-error";
2
+ //#region ../../../2-mongo-family/2-authoring/contract-ts/dist/contract-errors-BCN6RVI5.mjs
3
+ function contractError(code, message, options) {
4
+ return structuredError(code, message, options);
5
+ }
6
+ //#endregion
7
+ export { contractError as t };
8
+
9
+ //# sourceMappingURL=contract-errors-BCN6RVI5-kMurtAbI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-errors-BCN6RVI5-kMurtAbI.mjs","names":[],"sources":["../../../../2-mongo-family/2-authoring/contract-ts/dist/contract-errors-BCN6RVI5.mjs"],"sourcesContent":["import { structuredError } from \"@internal/utils/structured-error\";\n//#region src/contract-errors.ts\nfunction contractError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\nexport { contractError as t };\n\n//# sourceMappingURL=contract-errors-BCN6RVI5.mjs.map"],"mappings":";;AAEA,SAAS,cAAc,MAAM,SAAS,SAAS;CAC9C,OAAO,gBAAgB,MAAM,SAAS,OAAO;AAC9C"}