@prisma/orm-family-mongo 8.0.0-rc.2-dev.3 → 8.0.0-rc.20-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/README.md +1 -5
  2. package/dist/authoring-entity-types-UA5sY_Xm-DeYf_cYq.mjs +87 -0
  3. package/dist/authoring-entity-types-UA5sY_Xm-DeYf_cYq.mjs.map +1 -0
  4. package/dist/{canonicalization-hooks-DF3Z6sjO.mjs → canonicalization-hooks-CRVM-Kqh-Qi-VmEVg.mjs} +4 -3
  5. package/dist/canonicalization-hooks-CRVM-Kqh-Qi-VmEVg.mjs.map +1 -0
  6. package/dist/codec.d.mts +1 -1
  7. package/dist/codec.mjs +1 -1
  8. package/dist/{config-types-CFDf9ivE.mjs → config-types-DYTCUpAs.mjs} +5 -5
  9. package/dist/config-types-DYTCUpAs.mjs.map +1 -0
  10. package/dist/contract-builder-BHzQQk70.mjs +965 -0
  11. package/dist/contract-builder-BHzQQk70.mjs.map +1 -0
  12. package/dist/{contract-builder-DB8nguDE.d.mts → contract-builder-ClL-xMK2.d.mts} +271 -89
  13. package/dist/contract-builder-ClL-xMK2.d.mts.map +1 -0
  14. package/dist/contract-prisma6__provider.d.mts +35 -0
  15. package/dist/contract-prisma6__provider.d.mts.map +1 -0
  16. package/dist/contract-prisma6__provider.mjs +1202 -0
  17. package/dist/contract-prisma6__provider.mjs.map +1 -0
  18. package/dist/contract-psl.d.mts +152 -28
  19. package/dist/contract-psl.d.mts.map +1 -1
  20. package/dist/contract-psl.mjs +3 -2
  21. package/dist/contract-psl__provider.mjs +74 -44
  22. package/dist/contract-psl__provider.mjs.map +1 -1
  23. package/dist/contract-ts.d.mts +2 -2
  24. package/dist/contract-ts.mjs +2 -2
  25. package/dist/contract-ts__config-types.mjs +1 -1
  26. package/dist/contract-ts__contract-builder.d.mts +2 -2
  27. package/dist/contract-ts__contract-builder.mjs +1 -1
  28. package/dist/contract.d.mts +3 -3
  29. package/dist/contract.mjs +3 -3
  30. package/dist/contract__canonicalization-hooks.mjs +1 -1
  31. package/dist/contract__data-type.d.mts +37 -0
  32. package/dist/contract__data-type.d.mts.map +1 -0
  33. package/dist/contract__data-type.mjs +2 -0
  34. package/dist/contract__entity-kinds.d.mts +1 -1
  35. package/dist/contract__entity-kinds.mjs +1 -1
  36. package/dist/{control-C7-kthr1.d.mts → control-4pC8N2Rb.d.mts} +32 -19
  37. package/dist/control-4pC8N2Rb.d.mts.map +1 -0
  38. package/dist/{control-CClR5JMr.mjs → control-BQMBG11d.mjs} +19 -2
  39. package/dist/control-BQMBG11d.mjs.map +1 -0
  40. package/dist/{control-BbZQqmxo.mjs → control-B_pPN58L.mjs} +195 -87
  41. package/dist/control-B_pPN58L.mjs.map +1 -0
  42. package/dist/{control-Cj81sPbj.d.mts → control-CvQSMuxa.d.mts} +29 -6
  43. package/dist/control-CvQSMuxa.d.mts.map +1 -0
  44. package/dist/{control-adapter-Db5pT77b.d.mts → control-adapter-Bh_ZraGM--5JDb99k.d.mts} +48 -4
  45. package/dist/control-adapter-Bh_ZraGM--5JDb99k.d.mts.map +1 -0
  46. package/dist/control-adapter-CndDiTXW.d.mts +1 -0
  47. package/dist/dist-B8f-pfcT.mjs +1031 -0
  48. package/dist/dist-B8f-pfcT.mjs.map +1 -0
  49. package/dist/dist-Bgk36iLI.mjs +53 -0
  50. package/dist/dist-Bgk36iLI.mjs.map +1 -0
  51. package/dist/{dist-C7Ykq48Q.mjs → dist-CO2arS1K.mjs} +3 -1
  52. package/dist/dist-CO2arS1K.mjs.map +1 -0
  53. package/dist/{dist-Dyp05u64.mjs → dist-gmGbjhmk.mjs} +56 -32
  54. package/dist/dist-gmGbjhmk.mjs.map +1 -0
  55. package/dist/dist-xk_0xOR-.mjs +28 -0
  56. package/dist/dist-xk_0xOR-.mjs.map +1 -0
  57. package/dist/emitter.d.mts +2 -4
  58. package/dist/emitter.d.mts.map +1 -1
  59. package/dist/emitter.mjs +1 -1
  60. package/dist/{entity-kinds-B4KNTF8z-DPIuUuuB.mjs → entity-kinds-BQBtfVet-B-Px7NHp.mjs} +35 -18
  61. package/dist/entity-kinds-BQBtfVet-B-Px7NHp.mjs.map +1 -0
  62. package/dist/{execution-D5XyZ5XS.mjs → execution-CgP1Sdbr.mjs} +6 -3
  63. package/dist/execution-CgP1Sdbr.mjs.map +1 -0
  64. package/dist/{execution-CKnUiOfm.d.mts → execution-tPmN5pge.d.mts} +6 -2
  65. package/dist/execution-tPmN5pge.d.mts.map +1 -0
  66. package/dist/{exports-Bx-hlnZ3.mjs → exports-BAimNKOs.mjs} +31 -21
  67. package/dist/exports-BAimNKOs.mjs.map +1 -0
  68. package/dist/exports-BHQVApAg.mjs +86 -0
  69. package/dist/exports-BHQVApAg.mjs.map +1 -0
  70. package/dist/family.d.mts +11 -10
  71. package/dist/family.mjs +10 -9
  72. package/dist/family__control-adapter.d.mts +3 -2
  73. package/dist/family__control.d.mts +2 -2
  74. package/dist/family__control.mjs +3 -3
  75. package/dist/family__ir.d.mts +2 -2
  76. package/dist/family__ir.mjs +3 -3
  77. package/dist/family__migration.d.mts +1 -1
  78. package/dist/family__migration.mjs +1 -1
  79. package/dist/family__pack.d.mts +1 -1
  80. package/dist/family__pack.mjs +4 -2
  81. package/dist/family__pack.mjs.map +1 -1
  82. package/dist/family__runtime.d.mts +3 -3
  83. package/dist/family__runtime.mjs +3 -2
  84. package/dist/family__schema-verify.d.mts +1 -1
  85. package/dist/family__schema-verify.mjs +1 -1
  86. package/dist/{field-accessor-0oUt6RZC-B_Z30uAA.mjs → field-accessor-0oUt6RZC-CrJVzQiS.mjs} +2 -2
  87. package/dist/{field-accessor-0oUt6RZC-B_Z30uAA.mjs.map → field-accessor-0oUt6RZC-CrJVzQiS.mjs.map} +1 -1
  88. package/dist/{field-accessor-DHsAPiW3-BdYCspQC.d.mts → field-accessor-CmxCw9xP-C6jMngbK.d.mts} +35 -24
  89. package/dist/field-accessor-CmxCw9xP-C6jMngbK.d.mts.map +1 -0
  90. package/dist/index-9DDQlC5U.d.mts +87 -0
  91. package/dist/index-9DDQlC5U.d.mts.map +1 -0
  92. package/dist/{index-BR0ue13b.d.mts → index-BdXzdXGE.d.mts} +14 -8
  93. package/dist/index-BdXzdXGE.d.mts.map +1 -0
  94. package/dist/index-BhIiYIXu.d.mts +845 -0
  95. package/dist/index-BhIiYIXu.d.mts.map +1 -0
  96. package/dist/index-CQG5l2o9.d.mts +67 -0
  97. package/dist/index-CQG5l2o9.d.mts.map +1 -0
  98. package/dist/{index-DAOkcTCK.d.mts → index-FeVOOdZ0.d.mts} +9 -8
  99. package/dist/index-FeVOOdZ0.d.mts.map +1 -0
  100. package/dist/index-YY1SU_7o.d.mts +366 -0
  101. package/dist/index-YY1SU_7o.d.mts.map +1 -0
  102. package/dist/{index-DxoO-ywI.d.mts → index-rANtsIZG.d.mts} +9 -5
  103. package/dist/{index-DxoO-ywI.d.mts.map → index-rANtsIZG.d.mts.map} +1 -1
  104. package/dist/interpreter-BfHdPd7T-DGqi2_Um.mjs +2186 -0
  105. package/dist/interpreter-BfHdPd7T-DGqi2_Um.mjs.map +1 -0
  106. package/dist/{ir-CQrenTYt.d.mts → ir-BLC0t6_x.d.mts} +5 -27
  107. package/dist/ir-BLC0t6_x.d.mts.map +1 -0
  108. package/dist/{ir-Ch2aPr7a.mjs → ir-DGm0HXbP.mjs} +3 -8
  109. package/dist/ir-DGm0HXbP.mjs.map +1 -0
  110. package/dist/lowering.d.mts +1 -1
  111. package/dist/{migration-dcM7u4HG.mjs → migration-DnQ7_A_B.mjs} +4 -4
  112. package/dist/migration-DnQ7_A_B.mjs.map +1 -0
  113. package/dist/{migration-CNDQv5yB.d.mts → migration-YQVmgFU8.d.mts} +7 -7
  114. package/dist/{migration-CNDQv5yB.d.mts.map → migration-YQVmgFU8.d.mts.map} +1 -1
  115. package/dist/{mongo-contract-serializer-Cx7Fae8e-C8ZYPXpc.mjs → mongo-contract-serializer-Zx1rvil3-BywiKCpn.mjs} +27 -8
  116. package/dist/mongo-contract-serializer-Zx1rvil3-BywiKCpn.mjs.map +1 -0
  117. package/dist/{mongo-contract-view-AnejqfrQ-BaCFT0xm.d.mts → mongo-contract-view-AnejqfrQ-Wj_ulq2L.d.mts} +3 -3
  118. package/dist/{mongo-contract-view-AnejqfrQ-BaCFT0xm.d.mts.map → mongo-contract-view-AnejqfrQ-Wj_ulq2L.d.mts.map} +1 -1
  119. package/dist/{mongo-contract-view-rcWzby6f-wRBCUnBt.mjs → mongo-contract-view-D5yu2LrY-DCAZYJ4q.mjs} +4 -4
  120. package/dist/{mongo-contract-view-rcWzby6f-wRBCUnBt.mjs.map → mongo-contract-view-D5yu2LrY-DCAZYJ4q.mjs.map} +1 -1
  121. package/dist/mongo-data-type-DzyzU4LF-C1ydFXgE.mjs +53 -0
  122. package/dist/mongo-data-type-DzyzU4LF-C1ydFXgE.mjs.map +1 -0
  123. package/dist/{mongo-value-set-tNn9-pun-dJYx_rVD.d.mts → mongo-value-set-DEd7WLCT-B2Ar2GkJ.d.mts} +20 -4
  124. package/dist/mongo-value-set-DEd7WLCT-B2Ar2GkJ.d.mts.map +1 -0
  125. package/dist/orm.d.mts +154 -96
  126. package/dist/orm.d.mts.map +1 -1
  127. package/dist/orm.mjs +670 -148
  128. package/dist/orm.mjs.map +1 -1
  129. package/dist/pack-qw77Jt2G.d.mts +58 -0
  130. package/dist/pack-qw77Jt2G.d.mts.map +1 -0
  131. package/dist/query-ast.d.mts +5 -5
  132. package/dist/query-ast.mjs +3 -3
  133. package/dist/query-ast__control.d.mts +4 -4
  134. package/dist/query-ast__control.mjs +2 -2
  135. package/dist/query-ast__execution.d.mts +2 -2
  136. package/dist/query-ast__execution.mjs +1 -1
  137. package/dist/query-builder.d.mts +4 -836
  138. package/dist/query-builder.mjs +2 -2
  139. package/dist/query-builder__contract-free.d.mts +6 -6
  140. package/dist/query-builder__contract-free.mjs +3 -3
  141. package/dist/{query-plan-C0-Yu8hf-DdilEdW6.d.mts → query-plan-3fs1HokF-CrNsr-Wx.d.mts} +10 -4
  142. package/dist/{query-plan-C0-Yu8hf-DdilEdW6.d.mts.map → query-plan-3fs1HokF-CrNsr-Wx.d.mts.map} +1 -1
  143. package/dist/runtime-B5fNQHQZ.mjs +16 -0
  144. package/dist/runtime-B5fNQHQZ.mjs.map +1 -0
  145. package/dist/runtime-yZA30qM2.d.mts +11 -0
  146. package/dist/runtime-yZA30qM2.d.mts.map +1 -0
  147. package/dist/runtime.d.mts +74 -87
  148. package/dist/runtime.d.mts.map +1 -1
  149. package/dist/runtime.mjs +133 -67
  150. package/dist/runtime.mjs.map +1 -1
  151. package/dist/schema-ir.d.mts +2 -2
  152. package/dist/schema-ir.mjs +2 -2
  153. package/dist/{schema-verify-DJGr28XW.d.mts → schema-verify-CVOG6EZx.d.mts} +5 -5
  154. package/dist/{schema-verify-DJGr28XW.d.mts.map → schema-verify-CVOG6EZx.d.mts.map} +1 -1
  155. package/dist/value.d.mts +2 -2
  156. package/dist/value.mjs +1 -1
  157. package/dist/{verify-mongo-schema-De0FG2Rm-CCzwnNPY.mjs → verify-mongo-schema-CeQP5N4k-CNOctppM.mjs} +9 -26
  158. package/dist/verify-mongo-schema-CeQP5N4k-CNOctppM.mjs.map +1 -0
  159. package/dist/wire.d.mts +3 -3
  160. package/dist/wire.mjs +14 -2
  161. package/dist/wire.mjs.map +1 -1
  162. package/package.json +24 -21
  163. package/dist/authoring-entity-types-BGtkMyoN-D32kzx28.mjs +0 -176
  164. package/dist/authoring-entity-types-BGtkMyoN-D32kzx28.mjs.map +0 -1
  165. package/dist/canonicalization-hooks-DF3Z6sjO.mjs.map +0 -1
  166. package/dist/config-types-CFDf9ivE.mjs.map +0 -1
  167. package/dist/contract-builder-BFq0gOMV.mjs +0 -634
  168. package/dist/contract-builder-BFq0gOMV.mjs.map +0 -1
  169. package/dist/contract-builder-DB8nguDE.d.mts.map +0 -1
  170. package/dist/control-BbZQqmxo.mjs.map +0 -1
  171. package/dist/control-C7-kthr1.d.mts.map +0 -1
  172. package/dist/control-CClR5JMr.mjs.map +0 -1
  173. package/dist/control-Cj81sPbj.d.mts.map +0 -1
  174. package/dist/control-adapter-Db5pT77b.d.mts.map +0 -1
  175. package/dist/dist-C7Ykq48Q.mjs.map +0 -1
  176. package/dist/dist-Czwqx_i3.mjs +0 -58
  177. package/dist/dist-Czwqx_i3.mjs.map +0 -1
  178. package/dist/dist-DHrEJnhK.mjs +0 -236
  179. package/dist/dist-DHrEJnhK.mjs.map +0 -1
  180. package/dist/dist-Dyp05u64.mjs.map +0 -1
  181. package/dist/entity-kinds-B4KNTF8z-DPIuUuuB.mjs.map +0 -1
  182. package/dist/execution-CKnUiOfm.d.mts.map +0 -1
  183. package/dist/execution-D5XyZ5XS.mjs.map +0 -1
  184. package/dist/exports-Bx-hlnZ3.mjs.map +0 -1
  185. package/dist/exports-C4RGBGzZ.mjs +0 -156
  186. package/dist/exports-C4RGBGzZ.mjs.map +0 -1
  187. package/dist/field-accessor-DHsAPiW3-BdYCspQC.d.mts.map +0 -1
  188. package/dist/index-BR0ue13b.d.mts.map +0 -1
  189. package/dist/index-Cd2zLiU6.d.mts +0 -128
  190. package/dist/index-Cd2zLiU6.d.mts.map +0 -1
  191. package/dist/index-DAOkcTCK.d.mts.map +0 -1
  192. package/dist/index-Dv2PNMiG.d.mts +0 -53
  193. package/dist/index-Dv2PNMiG.d.mts.map +0 -1
  194. package/dist/index-wKMm41HC.d.mts +0 -30
  195. package/dist/index-wKMm41HC.d.mts.map +0 -1
  196. package/dist/interpreter-BxbUTQ3k-ClR98Ned.mjs +0 -1091
  197. package/dist/interpreter-BxbUTQ3k-ClR98Ned.mjs.map +0 -1
  198. package/dist/ir-CQrenTYt.d.mts.map +0 -1
  199. package/dist/ir-Ch2aPr7a.mjs.map +0 -1
  200. package/dist/migration-dcM7u4HG.mjs.map +0 -1
  201. package/dist/mongo-contract-serializer-Cx7Fae8e-C8ZYPXpc.mjs.map +0 -1
  202. package/dist/mongo-value-set-tNn9-pun-dJYx_rVD.d.mts.map +0 -1
  203. package/dist/pack-D9aLY50F.d.mts +0 -44
  204. package/dist/pack-D9aLY50F.d.mts.map +0 -1
  205. package/dist/query-builder.d.mts.map +0 -1
  206. package/dist/runtime-DPkRW4iu.d.mts +0 -1
  207. package/dist/verify-mongo-schema-De0FG2Rm-CCzwnNPY.mjs.map +0 -1
@@ -1 +0,0 @@
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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"}
@@ -1 +0,0 @@
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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-BbZQqmxo.mjs","names":[],"sources":["../../../../2-mongo-family/9-family/dist/control.mjs"],"sourcesContent":["import { i as contractToMongoSchemaIR, n as canonicalizeSchemasForVerification, r as diffMongoSchemas, t as verifyMongoSchema } from \"./verify-mongo-schema-De0FG2Rm.mjs\";\nimport { n as mongoFamilyPslBlockDescriptors, t as mongoFamilyEntityTypes } from \"./authoring-entity-types-BGtkMyoN.mjs\";\nimport { t as MongoContractSerializer } from \"./mongo-contract-serializer-Cx7Fae8e.mjs\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { mongoEmission } from \"@internal/mongo-emitter\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { APP_SPACE_ID, SchemaTreeNode, VERIFY_CODE_HASH_MISMATCH, VERIFY_CODE_MARKER_MISSING, VERIFY_CODE_TARGET_MISMATCH } from \"@internal/framework-components/control\";\nimport { mongoContractCanonicalizationHooks } from \"@internal/mongo-contract/canonicalization-hooks\";\nimport { assertDescriptorSelfConsistency } from \"@internal/migration-tools/spaces\";\nimport { InternalError } from \"@internal/utils/internal-error\";\n//#region src/core/operation-preview.ts\nfunction formatKeySpec(keys) {\n\treturn `{ ${keys.map((k) => `${JSON.stringify(k.field)}: ${JSON.stringify(k.direction)}`).join(\", \")} }`;\n}\nconst COMMAND_META_KEYS = /* @__PURE__ */ new Set([\n\t\"kind\",\n\t\"collection\",\n\t\"keys\"\n]);\nfunction formatOptionEntries(cmd) {\n\tconst parts = Object.entries(cmd).filter(([key, value]) => !COMMAND_META_KEYS.has(key) && value !== void 0).map(([key, value]) => `${key}: ${JSON.stringify(value)}`);\n\tif (parts.length === 0) return void 0;\n\treturn `{ ${parts.join(\", \")} }`;\n}\nfunction formatOptions(cmd) {\n\treturn formatOptionEntries(cmd);\n}\nfunction formatCreateCollectionOptions(cmd) {\n\treturn formatOptionEntries(cmd);\n}\nvar MongoDdlCommandFormatter = class {\n\tcreateIndex(cmd) {\n\t\tconst keySpec = formatKeySpec(cmd.keys);\n\t\tconst opts = formatOptions(cmd);\n\t\treturn opts ? `db.${cmd.collection}.createIndex(${keySpec}, ${opts})` : `db.${cmd.collection}.createIndex(${keySpec})`;\n\t}\n\tdropIndex(cmd) {\n\t\treturn `db.${cmd.collection}.dropIndex(${JSON.stringify(cmd.name)})`;\n\t}\n\tcreateCollection(cmd) {\n\t\tconst opts = formatCreateCollectionOptions(cmd);\n\t\treturn opts ? `db.createCollection(${JSON.stringify(cmd.collection)}, ${opts})` : `db.createCollection(${JSON.stringify(cmd.collection)})`;\n\t}\n\tdropCollection(cmd) {\n\t\treturn `db.${cmd.collection}.drop()`;\n\t}\n\tcollMod(cmd) {\n\t\tconst parts = [`collMod: ${JSON.stringify(cmd.collection)}`];\n\t\tfor (const [key, value] of Object.entries(cmd)) if (!COMMAND_META_KEYS.has(key) && value !== void 0) parts.push(`${key}: ${JSON.stringify(value)}`);\n\t\treturn `db.runCommand({ ${parts.join(\", \")} })`;\n\t}\n};\nconst formatter = new MongoDdlCommandFormatter();\nfunction formatMongoOperations(operations) {\n\tconst statements = [];\n\tfor (const operation of operations) {\n\t\tconst candidate = operation;\n\t\tif (!(\"execute\" in candidate) || !Array.isArray(candidate[\"execute\"])) continue;\n\t\tfor (const step of candidate[\"execute\"]) if (step.command && typeof step.command.accept === \"function\") statements.push(step.command.accept(formatter));\n\t}\n\treturn statements;\n}\n/**\n* Wraps `formatMongoOperations` into the family-agnostic\n* `OperationPreview` shape. Each statement carries\n* `language: 'mongodb-shell'`. Mirrors `sqlOperationsToPreview`.\n*/\nfunction mongoOperationsToPreview(operations) {\n\treturn { statements: formatMongoOperations(operations).map((text) => ({\n\t\ttext,\n\t\tlanguage: \"mongodb-shell\"\n\t})) };\n}\n//#endregion\n//#region src/core/schema-to-view.ts\nfunction mongoSchemaToView(schema) {\n\tconst collectionNodes = schema.collections.map((collection) => collectionToSchemaNode(collection.name, collection));\n\treturn { root: new SchemaTreeNode({\n\t\tkind: \"root\",\n\t\tid: \"mongo-schema\",\n\t\tlabel: \"database\",\n\t\t...ifDefined(\"children\", collectionNodes.length > 0 ? collectionNodes : void 0)\n\t}) };\n}\nfunction collectionToSchemaNode(name, collection) {\n\tconst children = [];\n\tfor (const index of collection.indexes) {\n\t\tconst keysSummary = index.keys.map((k) => {\n\t\t\tif (k.direction === 1) return k.field;\n\t\t\tif (k.direction === -1) return `${k.field} desc`;\n\t\t\treturn `${k.field} ${k.direction}`;\n\t\t}).join(\", \");\n\t\tconst prefix = index.unique ? \"unique index\" : \"index\";\n\t\tconst options = [];\n\t\tif (index.sparse) options.push(\"sparse\");\n\t\tif (index.expireAfterSeconds != null) options.push(`ttl: ${index.expireAfterSeconds}s`);\n\t\tif (index.partialFilterExpression) options.push(\"partial\");\n\t\tconst optsSuffix = options.length > 0 ? ` (${options.join(\", \")})` : \"\";\n\t\tchildren.push(new SchemaTreeNode({\n\t\t\tkind: \"index\",\n\t\t\tid: `index-${name}-${index.keys.map((k) => `${k.field}_${k.direction}`).join(\"_\")}`,\n\t\t\tlabel: `${prefix} (${keysSummary})${optsSuffix}`,\n\t\t\tmeta: {\n\t\t\t\tkeys: index.keys,\n\t\t\t\tunique: index.unique,\n\t\t\t\t...ifDefined(\"sparse\", index.sparse || void 0),\n\t\t\t\t...ifDefined(\"expireAfterSeconds\", index.expireAfterSeconds ?? void 0),\n\t\t\t\t...ifDefined(\"partialFilterExpression\", index.partialFilterExpression ?? void 0)\n\t\t\t}\n\t\t}));\n\t}\n\tif (collection.validator) {\n\t\tconst validatorChildren = [];\n\t\tconst jsonSchema = collection.validator.jsonSchema;\n\t\tconst properties = jsonSchema[\"properties\"];\n\t\tconst required = new Set(jsonSchema[\"required\"] ?? []);\n\t\tif (properties) for (const [propName, propDef] of Object.entries(properties)) {\n\t\t\tconst bsonType = propDef[\"bsonType\"] ?? \"unknown\";\n\t\t\tconst suffix = required.has(propName) ? \" (required)\" : \"\";\n\t\t\tvalidatorChildren.push(new SchemaTreeNode({\n\t\t\t\tkind: \"field\",\n\t\t\t\tid: `field-${name}-${propName}`,\n\t\t\t\tlabel: `${propName}: ${bsonType}${suffix}`\n\t\t\t}));\n\t\t}\n\t\tchildren.push(new SchemaTreeNode({\n\t\t\tkind: \"field\",\n\t\t\tid: `validator-${name}`,\n\t\t\tlabel: `validator (level: ${collection.validator.validationLevel}, action: ${collection.validator.validationAction})`,\n\t\t\tmeta: {\n\t\t\t\tvalidationLevel: collection.validator.validationLevel,\n\t\t\t\tvalidationAction: collection.validator.validationAction,\n\t\t\t\tjsonSchema: collection.validator.jsonSchema\n\t\t\t},\n\t\t\t...ifDefined(\"children\", validatorChildren.length > 0 ? validatorChildren : void 0)\n\t\t}));\n\t}\n\tif (collection.options) {\n\t\tconst opts = collection.options;\n\t\tconst optLabels = [];\n\t\tif (opts.capped) optLabels.push(\"capped\");\n\t\tif (opts.timeseries) optLabels.push(\"timeseries\");\n\t\tif (opts.collation) optLabels.push(\"collation\");\n\t\tif (opts.changeStreamPreAndPostImages) optLabels.push(\"changeStreamPreAndPostImages\");\n\t\tif (opts.clusteredIndex) optLabels.push(\"clusteredIndex\");\n\t\tif (optLabels.length > 0) children.push(new SchemaTreeNode({\n\t\t\tkind: \"field\",\n\t\t\tid: `options-${name}`,\n\t\t\tlabel: `options (${optLabels.join(\", \")})`,\n\t\t\tmeta: {\n\t\t\t\t...ifDefined(\"capped\", opts.capped ?? void 0),\n\t\t\t\t...ifDefined(\"timeseries\", opts.timeseries ?? void 0),\n\t\t\t\t...ifDefined(\"collation\", opts.collation ?? void 0),\n\t\t\t\t...ifDefined(\"changeStreamPreAndPostImages\", opts.changeStreamPreAndPostImages ?? void 0),\n\t\t\t\t...ifDefined(\"clusteredIndex\", opts.clusteredIndex ?? void 0)\n\t\t\t}\n\t\t}));\n\t}\n\treturn new SchemaTreeNode({\n\t\tkind: \"collection\",\n\t\tid: `collection-${name}`,\n\t\tlabel: `collection ${name}`,\n\t\t...ifDefined(\"children\", children.length > 0 ? children : void 0)\n\t});\n}\n//#endregion\n//#region src/core/control-instance.ts\nfunction deserializeMongoContract(contractJson) {\n\treturn new MongoContractSerializer().deserializeContract(contractJson);\n}\n/**\n* Family-method contract input. By the time control-plane methods\n* (`verify`, `verifySchema`, `sign`, …) are invoked through the CLI\n* control client (`client.ts`), the input has already been threaded\n* through `familyInstance.deserializeContract`. The value is therefore a\n* class-form `MongoTargetContract` (or a structurally-equivalent\n* envelope post-deserialization) and must NOT be re-fed through\n* structural validation (arktype rejects extra keys like `namespaces`).\n*\n* The parameter type on the framework SPI is `unknown` for variance\n* reasons (so the family can express its own contract type without\n* leaking it to the framework). This helper recovers the validated\n* shape with a single narrow cast.\n*/\nfunction asValidatedMongoContract(contract) {\n\treturn contract;\n}\nfunction buildVerifyResult(opts) {\n\treturn {\n\t\tok: opts.ok,\n\t\t...ifDefined(\"code\", opts.code),\n\t\tsummary: opts.summary,\n\t\tcontract: {\n\t\t\tstorageHash: opts.contractStorageHash,\n\t\t\t...ifDefined(\"profileHash\", opts.contractProfileHash)\n\t\t},\n\t\t...ifDefined(\"marker\", opts.marker ? {\n\t\t\tstorageHash: opts.marker.storageHash,\n\t\t\tprofileHash: opts.marker.profileHash\n\t\t} : void 0),\n\t\ttarget: {\n\t\t\texpected: opts.expectedTargetId,\n\t\t\t...ifDefined(\"actual\", opts.actualTargetId)\n\t\t},\n\t\tmeta: {\n\t\t\tcontractPath: opts.contractPath,\n\t\t\t...ifDefined(\"configPath\", opts.configPath)\n\t\t},\n\t\ttimings: { total: opts.totalTime }\n\t};\n}\nfunction createMongoFamilyInstance(controlStack) {\n\tconst extensions = controlStack.extensions ?? [];\n\tfor (const extension of extensions) if (extension.contractSpace) {\n\t\tconst { contractJson, headRef } = extension.contractSpace;\n\t\tassertDescriptorSelfConsistency({\n\t\t\textensionId: extension.id,\n\t\t\ttarget: contractJson.target,\n\t\t\ttargetFamily: contractJson.targetFamily,\n\t\t\tstorage: contractJson.storage,\n\t\t\theadRefHash: headRef.hash,\n\t\t\t...mongoContractCanonicalizationHooks\n\t\t});\n\t}\n\tconst adapter = controlStack.adapter;\n\tconst getControlAdapter = () => {\n\t\tif (!adapter) throw new InternalError(\"Mongo family requires an adapter descriptor in ControlStack\");\n\t\treturn adapter.create(controlStack);\n\t};\n\tfunction isMongoTargetDriver(driver) {\n\t\treturn driver.targetId === \"mongo\";\n\t}\n\tfunction asMongoDriver(driver) {\n\t\tif (!isMongoTargetDriver(driver)) throw structuredError(\"CONTRACT.TARGET_MISMATCH\", `Expected Mongo control driver with targetId 'mongo', got '${driver.targetId}'`);\n\t\treturn driver;\n\t}\n\treturn {\n\t\tfamilyId: \"mongo\",\n\t\tdeserializeContract(contractJson) {\n\t\t\treturn deserializeMongoContract(contractJson);\n\t\t},\n\t\tasync verify(options) {\n\t\t\tconst { driver, contract: rawContract, expectedTargetId, contractPath, configPath } = options;\n\t\t\tconst startTime = Date.now();\n\t\t\tconst contract = asValidatedMongoContract(rawContract);\n\t\t\tconst contractStorageHash = contract.storage.storageHash;\n\t\t\tconst contractProfileHash = contract.profileHash;\n\t\t\tconst contractTarget = contract.target;\n\t\t\tconst baseOpts = {\n\t\t\t\tcontractStorageHash,\n\t\t\t\tcontractProfileHash,\n\t\t\t\texpectedTargetId,\n\t\t\t\tcontractPath,\n\t\t\t\t...ifDefined(\"configPath\", configPath)\n\t\t\t};\n\t\t\tif (contractTarget !== expectedTargetId) return buildVerifyResult({\n\t\t\t\t...baseOpts,\n\t\t\t\tok: false,\n\t\t\t\tcode: VERIFY_CODE_TARGET_MISMATCH,\n\t\t\t\tsummary: \"Target mismatch\",\n\t\t\t\tactualTargetId: contractTarget,\n\t\t\t\ttotalTime: Date.now() - startTime\n\t\t\t});\n\t\t\tconst marker = await getControlAdapter().readMarker(asMongoDriver(driver), APP_SPACE_ID);\n\t\t\tif (!marker) return buildVerifyResult({\n\t\t\t\t...baseOpts,\n\t\t\t\tok: false,\n\t\t\t\tcode: VERIFY_CODE_MARKER_MISSING,\n\t\t\t\tsummary: \"Marker missing\",\n\t\t\t\ttotalTime: Date.now() - startTime\n\t\t\t});\n\t\t\tif (marker.storageHash !== contractStorageHash) return buildVerifyResult({\n\t\t\t\t...baseOpts,\n\t\t\t\tok: false,\n\t\t\t\tcode: VERIFY_CODE_HASH_MISMATCH,\n\t\t\t\tsummary: \"Hash mismatch\",\n\t\t\t\tmarker,\n\t\t\t\ttotalTime: Date.now() - startTime\n\t\t\t});\n\t\t\tif (contractProfileHash && marker.profileHash !== contractProfileHash) return buildVerifyResult({\n\t\t\t\t...baseOpts,\n\t\t\t\tok: false,\n\t\t\t\tcode: VERIFY_CODE_HASH_MISMATCH,\n\t\t\t\tsummary: \"Hash mismatch\",\n\t\t\t\tmarker,\n\t\t\t\ttotalTime: Date.now() - startTime\n\t\t\t});\n\t\t\treturn buildVerifyResult({\n\t\t\t\t...baseOpts,\n\t\t\t\tok: true,\n\t\t\t\tsummary: \"Database matches contract\",\n\t\t\t\tmarker,\n\t\t\t\ttotalTime: Date.now() - startTime\n\t\t\t});\n\t\t},\n\t\tverifySchema(options) {\n\t\t\treturn verifyMongoSchema({\n\t\t\t\tcontract: asValidatedMongoContract(options.contract),\n\t\t\t\tschema: options.schema,\n\t\t\t\tstrict: options.strict,\n\t\t\t\tframeworkComponents: options.frameworkComponents\n\t\t\t});\n\t\t},\n\t\tasync sign(options) {\n\t\t\tconst { driver, contract: rawContract, contractPath, configPath } = options;\n\t\t\tconst startTime = Date.now();\n\t\t\tconst contract = asValidatedMongoContract(rawContract);\n\t\t\tconst contractStorageHash = contract.storage.storageHash;\n\t\t\tconst contractProfileHash = contract.profileHash;\n\t\t\tconst controlAdapter = getControlAdapter();\n\t\t\tconst mongoDriver = asMongoDriver(driver);\n\t\t\tconst existingMarker = await controlAdapter.readMarker(mongoDriver, APP_SPACE_ID);\n\t\t\tlet markerCreated = false;\n\t\t\tlet markerUpdated = false;\n\t\t\tlet previousHashes;\n\t\t\tif (!existingMarker) {\n\t\t\t\tawait controlAdapter.initMarker(mongoDriver, APP_SPACE_ID, {\n\t\t\t\t\tstorageHash: contractStorageHash,\n\t\t\t\t\tprofileHash: contractProfileHash\n\t\t\t\t});\n\t\t\t\tmarkerCreated = true;\n\t\t\t} else {\n\t\t\t\tconst storageHashMatches = existingMarker.storageHash === contractStorageHash;\n\t\t\t\tconst profileHashMatches = existingMarker.profileHash === contractProfileHash;\n\t\t\t\tif (!storageHashMatches || !profileHashMatches) {\n\t\t\t\t\tpreviousHashes = {\n\t\t\t\t\t\tstorageHash: existingMarker.storageHash,\n\t\t\t\t\t\tprofileHash: existingMarker.profileHash\n\t\t\t\t\t};\n\t\t\t\t\tif (!await controlAdapter.updateMarker(mongoDriver, APP_SPACE_ID, existingMarker.storageHash, {\n\t\t\t\t\t\tstorageHash: contractStorageHash,\n\t\t\t\t\t\tprofileHash: contractProfileHash\n\t\t\t\t\t})) throw structuredError(\"MIGRATION.MARKER_CAS_FAILURE\", \"CAS conflict: marker was modified by another process during sign\");\n\t\t\t\t\tmarkerUpdated = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet summary;\n\t\t\tif (markerCreated) summary = \"Database signed (marker created)\";\n\t\t\telse if (markerUpdated) summary = `Database signed (marker updated from ${previousHashes?.storageHash ?? \"unknown\"})`;\n\t\t\telse summary = \"Database already signed with this contract\";\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t\tsummary,\n\t\t\t\tcontract: {\n\t\t\t\t\tstorageHash: contractStorageHash,\n\t\t\t\t\tprofileHash: contractProfileHash\n\t\t\t\t},\n\t\t\t\ttarget: {\n\t\t\t\t\texpected: contract.target,\n\t\t\t\t\tactual: contract.target\n\t\t\t\t},\n\t\t\t\tmarker: {\n\t\t\t\t\tcreated: markerCreated,\n\t\t\t\t\tupdated: markerUpdated,\n\t\t\t\t\t...ifDefined(\"previous\", previousHashes)\n\t\t\t\t},\n\t\t\t\tmeta: {\n\t\t\t\t\tcontractPath,\n\t\t\t\t\t...ifDefined(\"configPath\", configPath)\n\t\t\t\t},\n\t\t\t\ttimings: { total: Date.now() - startTime }\n\t\t\t};\n\t\t},\n\t\tasync readMarker(options) {\n\t\t\treturn getControlAdapter().readMarker(asMongoDriver(options.driver), options.space);\n\t\t},\n\t\tasync readAllMarkers(options) {\n\t\t\treturn getControlAdapter().readAllMarkers(asMongoDriver(options.driver));\n\t\t},\n\t\tasync readLedger(options) {\n\t\t\treturn getControlAdapter().readLedger(asMongoDriver(options.driver), options.space);\n\t\t},\n\t\tasync introspect(options) {\n\t\t\treturn getControlAdapter().introspectSchema(asMongoDriver(options.driver));\n\t\t},\n\t\ttoSchemaView(schema) {\n\t\t\treturn mongoSchemaToView(schema);\n\t\t},\n\t\ttoOperationPreview(operations) {\n\t\t\treturn mongoOperationsToPreview(operations);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/core/control-descriptor.ts\nvar MongoFamilyDescriptor = class {\n\tkind = \"family\";\n\tid = \"mongo\";\n\tfamilyId = \"mongo\";\n\tversion = \"0.0.1\";\n\temission = mongoEmission;\n\tauthoring = {\n\t\tentityTypes: mongoFamilyEntityTypes,\n\t\tpslBlockDescriptors: mongoFamilyPslBlockDescriptors\n\t};\n\tcreate(stack) {\n\t\treturn createMongoFamilyInstance(stack);\n\t}\n};\nconst mongoFamilyDescriptor = new MongoFamilyDescriptor();\n//#endregion\nexport { canonicalizeSchemasForVerification, contractToMongoSchemaIR, createMongoFamilyInstance, diffMongoSchemas, formatMongoOperations, mongoFamilyDescriptor, mongoOperationsToPreview };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-Cj81sPbj.d.mts","names":[],"sources":["../../../../2-mongo-family/9-family/dist/control.d.mts"],"mappings":";;;;;;;iBAKiB,wBAAwB,UAAU,uBAAuB;;;UAGhE,mCAAmC,+BAA+B,gBAAgB,kBAAkB,gBAAgB;;;;;;;;;;;EAW5H,oBAAoB,wBAAwB;;iBAE7B,0BAA0B,cAAc,eAAe;;;cAG1D,uBAAuB,iCAAiC;;;;;;;;;;;;;;;UAe5D,6BAA6B,kBAAkB,gBAAgB,uBAAuB,6CAA6C;WAClI,oBAAoB,mBAAmB;WACvC,gBAAgB,eAAe,WAAW;;;;;;;;;;;;;;;;;;;UAmB3C,wCAAwC;WACvC,gBAAgB,cAAc,cAAc;;;;iBAItC,sBAAsB,qBAAqB;;;;;;iBAM3C,yBAAyB,qBAAqB,2BAA2B;;;;;;;;;;;;;UAahF;WACC,mBAAmB;WACnB,mBAAmB;;iBAEb,iBAAiB,MAAM,eAAe,UAAU,eAAe,iBAAiB,0BAA0B,2BAA2B,gBAAgB;;;UAG5J;WACC,MAAM;WACN,UAAU;;iBAEJ,mCAAmC,MAAM,eAAe,UAAU,gBAAgB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-adapter-Db5pT77b.d.mts","names":[],"sources":["../../../../2-mongo-family/9-family/dist/control-adapter.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;UAiBU,oBAAoB,yCAAyC,gCAAgC;;;;;;;EAOrG,WAAW,QAAQ,+BAA+B,UAAU,gBAAgB,QAAQ;;;;;;;EAOpF,eAAe,QAAQ,+BAA+B,WAAW,QAAQ,oBAAoB;;;;EAI7F,WAAW,QAAQ,+BAA+B,UAAU,eAAe;aAChE;aACA;aACA;MACP;;;;;;EAMJ,aAAa,QAAQ,+BAA+B,UAAU,eAAe,sBAAsB;aACxF;aACA;aACA;MACP;;;;;;EAMJ,iBAAiB,QAAQ,+BAA+B,UAAU,eAAe;aACtE;aACA;aACA;aACA;aACA;aACA;MACP;;;;;EAKJ,WAAW,QAAQ,+BAA+B,UAAU,iBAAiB,iBAAiB;;;;EAI9F,iBAAiB,QAAQ,+BAA+B,WAAW,QAAQ;;;;;;;UAOnE,8BAA8B,yCAAyC,kCAAkC,SAAS,oBAAoB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dist-C7Ykq48Q.mjs","names":[],"sources":["../../../../2-mongo-family/1-foundation/mongo-value/dist/index.mjs"],"sourcesContent":["//#region src/param-ref.ts\nvar MongoParamRef = class MongoParamRef {\n\tvalue;\n\tname;\n\tcodecId;\n\tconstructor(value, options) {\n\t\tthis.value = value;\n\t\tthis.name = options?.name;\n\t\tthis.codecId = options?.codecId;\n\t\tObject.freeze(this);\n\t}\n\tstatic of(value, options) {\n\t\treturn new MongoParamRef(value, options);\n\t}\n};\n//#endregion\nexport { MongoParamRef };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":";AACA,IAAI,gBAAgB,MAAM,cAAc;CACvC;CACA;CACA;CACA,YAAY,OAAO,SAAS;EAC3B,KAAK,QAAQ;EACb,KAAK,OAAO,SAAS;EACrB,KAAK,UAAU,SAAS;EACxB,OAAO,OAAO,IAAI;CACnB;CACA,OAAO,GAAG,OAAO,SAAS;EACzB,OAAO,IAAI,cAAc,OAAO,OAAO;CACxC;AACD"}
@@ -1,58 +0,0 @@
1
- import { structuredError } from "@prisma/orm-framework/utils/structured-error";
2
- //#region ../../../2-mongo-family/1-foundation/mongo-codec/dist/index.mjs
3
- /**
4
- * Create a new Mongo codec registry. Inline object literal — no class implementation; the registry is just a private `Map` with the documented surface methods.
5
- */
6
- function newMongoCodecRegistry() {
7
- const byId = /* @__PURE__ */ new Map();
8
- return {
9
- get: (id) => byId.get(id),
10
- has: (id) => byId.has(id),
11
- register: (codec) => {
12
- if (byId.has(codec.id)) throw structuredError("RUNTIME.DUPLICATE_CODEC", `Codec with ID '${codec.id}' is already registered`);
13
- byId.set(codec.id, codec);
14
- },
15
- values: () => byId.values(),
16
- [Symbol.iterator]: function* () {
17
- yield* byId.values();
18
- }
19
- };
20
- }
21
- /**
22
- * Construct a Mongo codec from author functions.
23
- *
24
- * Author `encode` and `decode` as sync or async functions; the factory produces a {@link MongoCodec} whose query-time methods follow the boundary contract documented on the framework {@link BaseCodec}. Authors receive a second `ctx` options argument carrying the per-call context; ignore it if you don't need it.
25
- *
26
- * Both `encode` and `decode` are required so `TInput` and `TWire` are always covered by an explicit author function — the factory installs no identity fallback. `encodeJson` and `decodeJson` default to identity **only when `TInput` is assignable to `JsonValue`**; otherwise both are required so the contract artifact stays JSON-safe.
27
- *
28
- * Codec-id-keyed static metadata (`traits`, `targetTypes`, `renderOutputType`) lives on the unified `CodecDescriptor` rather than on the codec instance itself (TML-2357).
29
- */
30
- function mongoCodec(config) {
31
- const identity = (v) => v;
32
- const userEncode = config.encode;
33
- const userDecode = config.decode;
34
- const widenedConfig = config;
35
- return {
36
- id: config.typeId,
37
- encode: (value, ctx) => {
38
- try {
39
- return Promise.resolve(userEncode(value, ctx));
40
- } catch (error) {
41
- return Promise.reject(error);
42
- }
43
- },
44
- decode: (wire, ctx) => {
45
- try {
46
- return Promise.resolve(userDecode(wire, ctx));
47
- } catch (error) {
48
- return Promise.reject(error);
49
- }
50
- },
51
- encodeJson: widenedConfig.encodeJson ?? identity,
52
- decodeJson: widenedConfig.decodeJson ?? identity
53
- };
54
- }
55
- //#endregion
56
- export { newMongoCodecRegistry as n, mongoCodec as t };
57
-
58
- //# sourceMappingURL=dist-Czwqx_i3.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dist-Czwqx_i3.mjs","names":[],"sources":["../../../../2-mongo-family/1-foundation/mongo-codec/dist/index.mjs"],"sourcesContent":["import { structuredError } from \"@internal/utils/structured-error\";\n//#region src/codec-registry.ts\n/**\n* Create a new Mongo codec registry. Inline object literal — no class implementation; the registry is just a private `Map` with the documented surface methods.\n*/\nfunction newMongoCodecRegistry() {\n\tconst byId = /* @__PURE__ */ new Map();\n\treturn {\n\t\tget: (id) => byId.get(id),\n\t\thas: (id) => byId.has(id),\n\t\tregister: (codec) => {\n\t\t\tif (byId.has(codec.id)) throw structuredError(\"RUNTIME.DUPLICATE_CODEC\", `Codec with ID '${codec.id}' is already registered`);\n\t\t\tbyId.set(codec.id, codec);\n\t\t},\n\t\tvalues: () => byId.values(),\n\t\t[Symbol.iterator]: function* () {\n\t\t\tyield* byId.values();\n\t\t}\n\t};\n}\n//#endregion\n//#region src/codecs.ts\n/**\n* Construct a Mongo codec from author functions.\n*\n* Author `encode` and `decode` as sync or async functions; the factory produces a {@link MongoCodec} whose query-time methods follow the boundary contract documented on the framework {@link BaseCodec}. Authors receive a second `ctx` options argument carrying the per-call context; ignore it if you don't need it.\n*\n* Both `encode` and `decode` are required so `TInput` and `TWire` are always covered by an explicit author function — the factory installs no identity fallback. `encodeJson` and `decodeJson` default to identity **only when `TInput` is assignable to `JsonValue`**; otherwise both are required so the contract artifact stays JSON-safe.\n*\n* Codec-id-keyed static metadata (`traits`, `targetTypes`, `renderOutputType`) lives on the unified `CodecDescriptor` rather than on the codec instance itself (TML-2357).\n*/\nfunction mongoCodec(config) {\n\tconst identity = (v) => v;\n\tconst userEncode = config.encode;\n\tconst userDecode = config.decode;\n\tconst widenedConfig = config;\n\treturn {\n\t\tid: config.typeId,\n\t\tencode: (value, ctx) => {\n\t\t\ttry {\n\t\t\t\treturn Promise.resolve(userEncode(value, ctx));\n\t\t\t} catch (error) {\n\t\t\t\treturn Promise.reject(error);\n\t\t\t}\n\t\t},\n\t\tdecode: (wire, ctx) => {\n\t\t\ttry {\n\t\t\t\treturn Promise.resolve(userDecode(wire, ctx));\n\t\t\t} catch (error) {\n\t\t\t\treturn Promise.reject(error);\n\t\t\t}\n\t\t},\n\t\tencodeJson: widenedConfig.encodeJson ?? identity,\n\t\tdecodeJson: widenedConfig.decodeJson ?? identity\n\t};\n}\n//#endregion\nexport { mongoCodec, newMongoCodecRegistry };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":";;;;;AAKA,SAAS,wBAAwB;CAChC,MAAM,uBAAuB,IAAI,IAAI;CACrC,OAAO;EACN,MAAM,OAAO,KAAK,IAAI,EAAE;EACxB,MAAM,OAAO,KAAK,IAAI,EAAE;EACxB,WAAW,UAAU;GACpB,IAAI,KAAK,IAAI,MAAM,EAAE,GAAG,MAAM,gBAAgB,2BAA2B,kBAAkB,MAAM,GAAG,wBAAwB;GAC5H,KAAK,IAAI,MAAM,IAAI,KAAK;EACzB;EACA,cAAc,KAAK,OAAO;EAC1B,CAAC,OAAO,WAAW,aAAa;GAC/B,OAAO,KAAK,OAAO;EACpB;CACD;AACD;;;;;;;;;;AAYA,SAAS,WAAW,QAAQ;CAC3B,MAAM,YAAY,MAAM;CACxB,MAAM,aAAa,OAAO;CAC1B,MAAM,aAAa,OAAO;CAC1B,MAAM,gBAAgB;CACtB,OAAO;EACN,IAAI,OAAO;EACX,SAAS,OAAO,QAAQ;GACvB,IAAI;IACH,OAAO,QAAQ,QAAQ,WAAW,OAAO,GAAG,CAAC;GAC9C,SAAS,OAAO;IACf,OAAO,QAAQ,OAAO,KAAK;GAC5B;EACD;EACA,SAAS,MAAM,QAAQ;GACtB,IAAI;IACH,OAAO,QAAQ,QAAQ,WAAW,MAAM,GAAG,CAAC;GAC7C,SAAS,OAAO;IACf,OAAO,QAAQ,OAAO,KAAK;GAC5B;EACD;EACA,YAAY,cAAc,cAAc;EACxC,YAAY,cAAc,cAAc;CACzC;AACD"}
@@ -1,236 +0,0 @@
1
- import { n as MongoCollationOptions, o as MongoIndex, p as composeMongoEntityKinds } from "./entity-kinds-B4KNTF8z-DPIuUuuB.mjs";
2
- import { structuredError } from "@prisma/orm-framework/utils/structured-error";
3
- import { IRNodeBase, NamespaceBase, UNBOUND_NAMESPACE_ID, buildNamespacedEntities, buildSingleNamespaceView, freezeNode, hydrateNamespaceEntities } from "@prisma/orm-framework/components/ir";
4
- import { UNBOUND_DOMAIN_NAMESPACE_ID } from "@prisma/orm-framework/contract/default-namespace";
5
- import { blindCast } from "@prisma/orm-framework/utils/casts";
6
- //#region ../../../2-mongo-family/1-foundation/mongo-contract/dist/index.mjs
7
- const MONGO_BUILTIN_KINDS = ["collection"];
8
- /**
9
- * Builds the Mongo view: unwraps the sole namespace's built-in `collection` kind
10
- * to the root, attaches the namespace-keyed `namespace` map, and layers both
11
- * over the deserialized contract so the result is a structural superset of the
12
- * contract.
13
- */
14
- function buildMongoContractView(contract) {
15
- const rootAccessors = buildSingleNamespaceView(contract.storage, MONGO_BUILTIN_KINDS);
16
- const namespace = buildNamespacedEntities(contract.storage, MONGO_BUILTIN_KINDS);
17
- return {
18
- ...contract,
19
- ...rootAccessors,
20
- namespace
21
- };
22
- }
23
- /** Default storage namespace for Mongo-family contracts at runtime. */
24
- const defaultMongoStorageNamespaceId = UNBOUND_NAMESPACE_ID;
25
- /** Default domain namespace for Mongo-family contracts at runtime. */
26
- const defaultMongoDomainNamespaceId = UNBOUND_DOMAIN_NAMESPACE_ID;
27
- var MongoUnboundNamespace = class MongoUnboundNamespace extends NamespaceBase {
28
- static instance = new MongoUnboundNamespace();
29
- id = UNBOUND_NAMESPACE_ID;
30
- entries = Object.freeze({ collection: Object.freeze({}) });
31
- constructor() {
32
- super();
33
- Object.defineProperty(this, "kind", {
34
- value: "mongo-namespace",
35
- writable: false,
36
- enumerable: false,
37
- configurable: true
38
- });
39
- freezeNode(this);
40
- }
41
- };
42
- const MONGO_NAMESPACE_KIND = "mongo-namespace";
43
- var MongoBoundNamespace = class MongoBoundNamespace extends NamespaceBase {
44
- id;
45
- entries;
46
- static fromCollectionsInput(input) {
47
- const collectionMap = input.entries["collection"];
48
- const collectionCount = collectionMap !== void 0 ? Object.keys(collectionMap).length : 0;
49
- const hasUnknownKinds = Object.keys(input.entries).some((kind) => kind !== "collection");
50
- if (input.id === UNBOUND_NAMESPACE_ID && collectionCount === 0 && !hasUnknownKinds) return MongoUnboundNamespace.instance;
51
- return new MongoBoundNamespace(input);
52
- }
53
- constructor(input) {
54
- super();
55
- this.id = input.id;
56
- const rawEntries = {
57
- collection: {},
58
- ...input.entries
59
- };
60
- this.entries = Object.freeze(blindCast(hydrateNamespaceEntities(rawEntries, composeMongoEntityKinds(), "carry")));
61
- Object.defineProperty(this, "kind", {
62
- value: MONGO_NAMESPACE_KIND,
63
- writable: false,
64
- enumerable: false,
65
- configurable: true
66
- });
67
- freezeNode(this);
68
- }
69
- get collection() {
70
- return this.entries.collection ?? Object.freeze({});
71
- }
72
- };
73
- function buildMongoNamespace(input) {
74
- return MongoBoundNamespace.fromCollectionsInput(input);
75
- }
76
- /**
77
- * Clustered-collection options (the `clusteredIndex` collection-creation
78
- * field). Lifted from a `type =` data shape to an AST class extending
79
- * `IRNodeBase` per FR18.
80
- *
81
- * MongoDB requires `key` and `unique` for any clustered collection; the
82
- * constructor enforces presence by type signature.
83
- */
84
- var MongoClusteredCollectionOptions = class extends IRNodeBase {
85
- kind = "mongo-clustered-collection-options";
86
- key;
87
- unique;
88
- constructor(options) {
89
- super();
90
- if (options.name !== void 0) this.name = options.name;
91
- this.key = options.key;
92
- this.unique = options.unique;
93
- freezeNode(this);
94
- }
95
- };
96
- /**
97
- * Mongo Contract IR node for the per-index option vocabulary (the second
98
- * argument to `db.collection.createIndex(keys, options)` minus the keys
99
- * themselves). Lifted from a `type =` data shape to an AST class
100
- * extending `IRNodeBase` per FR18.
101
- *
102
- * Nested `collation` is itself an IR class (`MongoCollationOptions`); the
103
- * constructor accepts either a class instance or a data literal and
104
- * normalises to the class form so downstream walks see a uniform IR tree.
105
- */
106
- var MongoIndexOptions = class extends IRNodeBase {
107
- kind = "mongo-index-options";
108
- constructor(options = {}) {
109
- super();
110
- if (options.unique !== void 0) this.unique = options.unique;
111
- if (options.name !== void 0) this.name = options.name;
112
- if (options.partialFilterExpression !== void 0) this.partialFilterExpression = options.partialFilterExpression;
113
- if (options.sparse !== void 0) this.sparse = options.sparse;
114
- if (options.expireAfterSeconds !== void 0) this.expireAfterSeconds = options.expireAfterSeconds;
115
- if (options.weights !== void 0) this.weights = options.weights;
116
- if (options.default_language !== void 0) this.default_language = options.default_language;
117
- if (options.language_override !== void 0) this.language_override = options.language_override;
118
- if (options.textIndexVersion !== void 0) this.textIndexVersion = options.textIndexVersion;
119
- if (options["2dsphereIndexVersion"] !== void 0) this["2dsphereIndexVersion"] = options["2dsphereIndexVersion"];
120
- if (options.bits !== void 0) this.bits = options.bits;
121
- if (options.min !== void 0) this.min = options.min;
122
- if (options.max !== void 0) this.max = options.max;
123
- if (options.bucketSize !== void 0) this.bucketSize = options.bucketSize;
124
- if (options.hidden !== void 0) this.hidden = options.hidden;
125
- if (options.collation !== void 0) this.collation = options.collation instanceof MongoCollationOptions ? options.collation : new MongoCollationOptions(options.collation);
126
- if (options.wildcardProjection !== void 0) this.wildcardProjection = options.wildcardProjection;
127
- freezeNode(this);
128
- }
129
- };
130
- var MongoStorage = class extends IRNodeBase {
131
- storageHash;
132
- namespaces;
133
- constructor(input) {
134
- super();
135
- Object.defineProperty(this, "kind", {
136
- value: "mongo-storage",
137
- writable: false,
138
- enumerable: false,
139
- configurable: true
140
- });
141
- this.storageHash = input.storageHash;
142
- this.namespaces = Object.freeze(input.namespaces);
143
- freezeNode(this);
144
- }
145
- };
146
- function isScalarDiscriminatorValue(value) {
147
- const t = typeof value;
148
- return t === "string" || t === "number" || t === "boolean";
149
- }
150
- function formatValue(value) {
151
- if (typeof value === "string") return JSON.stringify(value);
152
- if (value === null) return "null";
153
- if (Array.isArray(value)) return JSON.stringify(value);
154
- if (typeof value === "object") return JSON.stringify(value);
155
- return String(value);
156
- }
157
- function applyPolymorphicScopeToMongoIndex(index, scope) {
158
- if (!isScalarDiscriminatorValue(scope.discriminatorValue)) return {
159
- kind: "conflict",
160
- reason: `Variant-scoped indexes require a scalar (string, number, or boolean) discriminator value for field "${scope.discriminatorField}", but received ${formatValue(scope.discriminatorValue)}.`
161
- };
162
- const existing = index.partialFilterExpression;
163
- if (existing && Object.hasOwn(existing, scope.discriminatorField)) {
164
- const existingValue = existing[scope.discriminatorField];
165
- if (existingValue === scope.discriminatorValue) return {
166
- kind: "ok",
167
- index
168
- };
169
- return {
170
- kind: "conflict",
171
- reason: `Index partialFilterExpression sets "${scope.discriminatorField}" to ${formatValue(existingValue)}, which conflicts with the variant's discriminator value ${formatValue(scope.discriminatorValue)}.`
172
- };
173
- }
174
- const merged = {
175
- ...existing ?? {},
176
- [scope.discriminatorField]: scope.discriminatorValue
177
- };
178
- return {
179
- kind: "ok",
180
- index: new MongoIndex({
181
- keys: index.keys,
182
- ...index.unique !== void 0 && { unique: index.unique },
183
- ...index.sparse !== void 0 && { sparse: index.sparse },
184
- ...index.expireAfterSeconds !== void 0 && { expireAfterSeconds: index.expireAfterSeconds },
185
- partialFilterExpression: merged,
186
- ...index.wildcardProjection !== void 0 && { wildcardProjection: index.wildcardProjection },
187
- ...index.collation !== void 0 && { collation: index.collation },
188
- ...index.weights !== void 0 && { weights: index.weights },
189
- ...index.default_language !== void 0 && { default_language: index.default_language },
190
- ...index.language_override !== void 0 && { language_override: index.language_override }
191
- })
192
- };
193
- }
194
- function formatCrossRef(crossRef) {
195
- return `${crossRef.namespace}.${crossRef.model}`;
196
- }
197
- function storageDeclaresCollection(storage, collectionName) {
198
- for (const ns of Object.values(storage.namespaces)) if (Object.hasOwn(ns.entries["collection"] ?? {}, collectionName)) return true;
199
- return false;
200
- }
201
- function validateMongoStorage(contract) {
202
- const errors = [];
203
- for (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) {
204
- const models = namespace.models;
205
- for (const [modelName, model] of Object.entries(models)) {
206
- const qualifiedName = `${namespaceId}:${modelName}`;
207
- if (model.storage.collection && !storageDeclaresCollection(contract.storage, model.storage.collection)) errors.push(`Model "${qualifiedName}" references collection "${model.storage.collection}" which is not declared under any namespace's collections map`);
208
- if (model.base) {
209
- const baseModel = models[model.base.model];
210
- if (baseModel) {
211
- const variantCollection = model.storage.collection;
212
- const baseCollection = baseModel.storage.collection;
213
- if (variantCollection !== baseCollection) errors.push(`Mongo does not support multi-table inheritance; variant "${qualifiedName}" must share its base's collection ("${baseCollection ?? "(none)"}"), but has "${variantCollection ?? "(none)"}"`);
214
- }
215
- }
216
- for (const [relName, relation] of Object.entries(model.relations ?? {})) {
217
- const targetModel = models[relation.to.model];
218
- const targetLabel = formatCrossRef(relation.to);
219
- if (targetModel?.owner) {
220
- if (targetModel.owner !== modelName) errors.push(`Embed relation "${relName}" targets "${targetLabel}" which is owned by "${targetModel.owner}", not "${qualifiedName}"`);
221
- if (targetModel.storage.collection) errors.push(`Embed relation "${relName}" targets "${targetLabel}" which must not have a collection`);
222
- } else if ("on" in relation && relation.on) {
223
- for (const localField of relation.on.localFields) if (!(localField in model.fields)) errors.push(`Reference relation "${relName}": localField "${localField}" is not a field on model "${qualifiedName}"`);
224
- if (targetModel) {
225
- for (const targetField of relation.on.targetFields) if (!(targetField in targetModel.fields)) errors.push(`Reference relation "${relName}": targetField "${targetField}" is not a field on model "${targetLabel}"`);
226
- }
227
- }
228
- }
229
- }
230
- }
231
- if (errors.length > 0) throw structuredError("CONTRACT.VALIDATION_FAILED", `Contract storage validation failed:\n- ${errors.join("\n- ")}`);
232
- }
233
- //#endregion
234
- export { applyPolymorphicScopeToMongoIndex as a, defaultMongoDomainNamespaceId as c, MongoUnboundNamespace as i, defaultMongoStorageNamespaceId as l, MongoIndexOptions as n, buildMongoContractView as o, MongoStorage as r, buildMongoNamespace as s, MongoClusteredCollectionOptions as t, validateMongoStorage as u };
235
-
236
- //# sourceMappingURL=dist-DHrEJnhK.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dist-DHrEJnhK.mjs","names":[],"sources":["../../../../2-mongo-family/1-foundation/mongo-contract/dist/index.mjs"],"sourcesContent":["import { a as MongoCollection, c as MongoCollectionOptions, d as MongoCollationOptions, f as MongoChangeStreamPreAndPostImagesOptions, g as createMongoNamespaceEnvelopeSchema, h as createMongoContractSchema, i as MongoValueSet, l as MongoTimeSeriesCollectionOptions, m as StorageValueSetSchema, n as composeMongoEntityKinds, o as MongoValidator, p as MongoContractSchema, s as MongoIndex, u as MongoIndexOptionDefaults } from \"./entity-kinds-B4KNTF8z.mjs\";\nimport { IRNodeBase, NamespaceBase, UNBOUND_NAMESPACE_ID, buildNamespacedEntities, buildSingleNamespaceView, freezeNode, hydrateNamespaceEntities } from \"@internal/framework-components/ir\";\nimport { UNBOUND_DOMAIN_NAMESPACE_ID } from \"@internal/contract/default-namespace\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { structuredError } from \"@internal/utils/structured-error\";\n//#region src/contract-view.ts\nconst MONGO_BUILTIN_KINDS = [\"collection\"];\n/**\n* Builds the Mongo view: unwraps the sole namespace's built-in `collection` kind\n* to the root, attaches the namespace-keyed `namespace` map, and layers both\n* over the deserialized contract so the result is a structural superset of the\n* contract.\n*/\nfunction buildMongoContractView(contract) {\n\tconst rootAccessors = buildSingleNamespaceView(contract.storage, MONGO_BUILTIN_KINDS);\n\tconst namespace = buildNamespacedEntities(contract.storage, MONGO_BUILTIN_KINDS);\n\treturn {\n\t\t...contract,\n\t\t...rootAccessors,\n\t\tnamespace\n\t};\n}\n//#endregion\n//#region src/default-namespace.ts\n/** Default storage namespace for Mongo-family contracts at runtime. */\nconst defaultMongoStorageNamespaceId = UNBOUND_NAMESPACE_ID;\n/** Default domain namespace for Mongo-family contracts at runtime. */\nconst defaultMongoDomainNamespaceId = UNBOUND_DOMAIN_NAMESPACE_ID;\n//#endregion\n//#region src/ir/mongo-unbound-namespace.ts\nvar MongoUnboundNamespace = class MongoUnboundNamespace extends NamespaceBase {\n\tstatic instance = new MongoUnboundNamespace();\n\tid = UNBOUND_NAMESPACE_ID;\n\tentries = Object.freeze({ collection: Object.freeze({}) });\n\tconstructor() {\n\t\tsuper();\n\t\tObject.defineProperty(this, \"kind\", {\n\t\t\tvalue: \"mongo-namespace\",\n\t\t\twritable: false,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true\n\t\t});\n\t\tfreezeNode(this);\n\t}\n};\n//#endregion\n//#region src/ir/build-mongo-namespace.ts\nconst MONGO_NAMESPACE_KIND = \"mongo-namespace\";\nvar MongoBoundNamespace = class MongoBoundNamespace extends NamespaceBase {\n\tid;\n\tentries;\n\tstatic fromCollectionsInput(input) {\n\t\tconst collectionMap = input.entries[\"collection\"];\n\t\tconst collectionCount = collectionMap !== void 0 ? Object.keys(collectionMap).length : 0;\n\t\tconst hasUnknownKinds = Object.keys(input.entries).some((kind) => kind !== \"collection\");\n\t\tif (input.id === UNBOUND_NAMESPACE_ID && collectionCount === 0 && !hasUnknownKinds) return MongoUnboundNamespace.instance;\n\t\treturn new MongoBoundNamespace(input);\n\t}\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.id = input.id;\n\t\tconst rawEntries = {\n\t\t\tcollection: {},\n\t\t\t...input.entries\n\t\t};\n\t\tthis.entries = Object.freeze(blindCast(hydrateNamespaceEntities(rawEntries, composeMongoEntityKinds(), \"carry\")));\n\t\tObject.defineProperty(this, \"kind\", {\n\t\t\tvalue: MONGO_NAMESPACE_KIND,\n\t\t\twritable: false,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true\n\t\t});\n\t\tfreezeNode(this);\n\t}\n\tget collection() {\n\t\treturn this.entries.collection ?? Object.freeze({});\n\t}\n};\nfunction buildMongoNamespace(input) {\n\treturn MongoBoundNamespace.fromCollectionsInput(input);\n}\n//#endregion\n//#region src/ir/mongo-clustered-collection-options.ts\n/**\n* Clustered-collection options (the `clusteredIndex` collection-creation\n* field). Lifted from a `type =` data shape to an AST class extending\n* `IRNodeBase` per FR18.\n*\n* MongoDB requires `key` and `unique` for any clustered collection; the\n* constructor enforces presence by type signature.\n*/\nvar MongoClusteredCollectionOptions = class extends IRNodeBase {\n\tkind = \"mongo-clustered-collection-options\";\n\tkey;\n\tunique;\n\tconstructor(options) {\n\t\tsuper();\n\t\tif (options.name !== void 0) this.name = options.name;\n\t\tthis.key = options.key;\n\t\tthis.unique = options.unique;\n\t\tfreezeNode(this);\n\t}\n};\n//#endregion\n//#region src/ir/mongo-index-options.ts\n/**\n* Mongo Contract IR node for the per-index option vocabulary (the second\n* argument to `db.collection.createIndex(keys, options)` minus the keys\n* themselves). Lifted from a `type =` data shape to an AST class\n* extending `IRNodeBase` per FR18.\n*\n* Nested `collation` is itself an IR class (`MongoCollationOptions`); the\n* constructor accepts either a class instance or a data literal and\n* normalises to the class form so downstream walks see a uniform IR tree.\n*/\nvar MongoIndexOptions = class extends IRNodeBase {\n\tkind = \"mongo-index-options\";\n\tconstructor(options = {}) {\n\t\tsuper();\n\t\tif (options.unique !== void 0) this.unique = options.unique;\n\t\tif (options.name !== void 0) this.name = options.name;\n\t\tif (options.partialFilterExpression !== void 0) this.partialFilterExpression = options.partialFilterExpression;\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.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\tif (options.textIndexVersion !== void 0) this.textIndexVersion = options.textIndexVersion;\n\t\tif (options[\"2dsphereIndexVersion\"] !== void 0) this[\"2dsphereIndexVersion\"] = options[\"2dsphereIndexVersion\"];\n\t\tif (options.bits !== void 0) this.bits = options.bits;\n\t\tif (options.min !== void 0) this.min = options.min;\n\t\tif (options.max !== void 0) this.max = options.max;\n\t\tif (options.bucketSize !== void 0) this.bucketSize = options.bucketSize;\n\t\tif (options.hidden !== void 0) this.hidden = options.hidden;\n\t\tif (options.collation !== void 0) this.collation = options.collation instanceof MongoCollationOptions ? options.collation : new MongoCollationOptions(options.collation);\n\t\tif (options.wildcardProjection !== void 0) this.wildcardProjection = options.wildcardProjection;\n\t\tfreezeNode(this);\n\t}\n};\n//#endregion\n//#region src/ir/mongo-storage.ts\nvar MongoStorage = class extends IRNodeBase {\n\tstorageHash;\n\tnamespaces;\n\tconstructor(input) {\n\t\tsuper();\n\t\tObject.defineProperty(this, \"kind\", {\n\t\t\tvalue: \"mongo-storage\",\n\t\t\twritable: false,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true\n\t\t});\n\t\tthis.storageHash = input.storageHash;\n\t\tthis.namespaces = Object.freeze(input.namespaces);\n\t\tfreezeNode(this);\n\t}\n};\n//#endregion\n//#region src/polymorphic-index-scope.ts\nfunction isScalarDiscriminatorValue(value) {\n\tconst t = typeof value;\n\treturn t === \"string\" || t === \"number\" || t === \"boolean\";\n}\nfunction formatValue(value) {\n\tif (typeof value === \"string\") return JSON.stringify(value);\n\tif (value === null) return \"null\";\n\tif (Array.isArray(value)) return JSON.stringify(value);\n\tif (typeof value === \"object\") return JSON.stringify(value);\n\treturn String(value);\n}\nfunction applyPolymorphicScopeToMongoIndex(index, scope) {\n\tif (!isScalarDiscriminatorValue(scope.discriminatorValue)) return {\n\t\tkind: \"conflict\",\n\t\treason: `Variant-scoped indexes require a scalar (string, number, or boolean) discriminator value for field \"${scope.discriminatorField}\", but received ${formatValue(scope.discriminatorValue)}.`\n\t};\n\tconst existing = index.partialFilterExpression;\n\tif (existing && Object.hasOwn(existing, scope.discriminatorField)) {\n\t\tconst existingValue = existing[scope.discriminatorField];\n\t\tif (existingValue === scope.discriminatorValue) return {\n\t\t\tkind: \"ok\",\n\t\t\tindex\n\t\t};\n\t\treturn {\n\t\t\tkind: \"conflict\",\n\t\t\treason: `Index partialFilterExpression sets \"${scope.discriminatorField}\" to ${formatValue(existingValue)}, which conflicts with the variant's discriminator value ${formatValue(scope.discriminatorValue)}.`\n\t\t};\n\t}\n\tconst merged = {\n\t\t...existing ?? {},\n\t\t[scope.discriminatorField]: scope.discriminatorValue\n\t};\n\treturn {\n\t\tkind: \"ok\",\n\t\tindex: new MongoIndex({\n\t\t\tkeys: index.keys,\n\t\t\t...index.unique !== void 0 && { unique: index.unique },\n\t\t\t...index.sparse !== void 0 && { sparse: index.sparse },\n\t\t\t...index.expireAfterSeconds !== void 0 && { expireAfterSeconds: index.expireAfterSeconds },\n\t\t\tpartialFilterExpression: merged,\n\t\t\t...index.wildcardProjection !== void 0 && { wildcardProjection: index.wildcardProjection },\n\t\t\t...index.collation !== void 0 && { collation: index.collation },\n\t\t\t...index.weights !== void 0 && { weights: index.weights },\n\t\t\t...index.default_language !== void 0 && { default_language: index.default_language },\n\t\t\t...index.language_override !== void 0 && { language_override: index.language_override }\n\t\t})\n\t};\n}\n//#endregion\n//#region src/validate-storage.ts\nfunction formatCrossRef(crossRef) {\n\treturn `${crossRef.namespace}.${crossRef.model}`;\n}\nfunction storageDeclaresCollection(storage, collectionName) {\n\tfor (const ns of Object.values(storage.namespaces)) if (Object.hasOwn(ns.entries[\"collection\"] ?? {}, collectionName)) return true;\n\treturn false;\n}\nfunction validateMongoStorage(contract) {\n\tconst errors = [];\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) {\n\t\tconst models = namespace.models;\n\t\tfor (const [modelName, model] of Object.entries(models)) {\n\t\t\tconst qualifiedName = `${namespaceId}:${modelName}`;\n\t\t\tif (model.storage.collection && !storageDeclaresCollection(contract.storage, model.storage.collection)) errors.push(`Model \"${qualifiedName}\" references collection \"${model.storage.collection}\" which is not declared under any namespace's collections map`);\n\t\t\tif (model.base) {\n\t\t\t\tconst baseModel = models[model.base.model];\n\t\t\t\tif (baseModel) {\n\t\t\t\t\tconst variantCollection = model.storage.collection;\n\t\t\t\t\tconst baseCollection = baseModel.storage.collection;\n\t\t\t\t\tif (variantCollection !== baseCollection) errors.push(`Mongo does not support multi-table inheritance; variant \"${qualifiedName}\" must share its base's collection (\"${baseCollection ?? \"(none)\"}\"), but has \"${variantCollection ?? \"(none)\"}\"`);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (const [relName, relation] of Object.entries(model.relations ?? {})) {\n\t\t\t\tconst targetModel = models[relation.to.model];\n\t\t\t\tconst targetLabel = formatCrossRef(relation.to);\n\t\t\t\tif (targetModel?.owner) {\n\t\t\t\t\tif (targetModel.owner !== modelName) errors.push(`Embed relation \"${relName}\" targets \"${targetLabel}\" which is owned by \"${targetModel.owner}\", not \"${qualifiedName}\"`);\n\t\t\t\t\tif (targetModel.storage.collection) errors.push(`Embed relation \"${relName}\" targets \"${targetLabel}\" which must not have a collection`);\n\t\t\t\t} else if (\"on\" in relation && relation.on) {\n\t\t\t\t\tfor (const localField of relation.on.localFields) if (!(localField in model.fields)) errors.push(`Reference relation \"${relName}\": localField \"${localField}\" is not a field on model \"${qualifiedName}\"`);\n\t\t\t\t\tif (targetModel) {\n\t\t\t\t\t\tfor (const targetField of relation.on.targetFields) if (!(targetField in targetModel.fields)) errors.push(`Reference relation \"${relName}\": targetField \"${targetField}\" is not a field on model \"${targetLabel}\"`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif (errors.length > 0) throw structuredError(\"CONTRACT.VALIDATION_FAILED\", `Contract storage validation failed:\\n- ${errors.join(\"\\n- \")}`);\n}\n//#endregion\nexport { MongoChangeStreamPreAndPostImagesOptions, MongoClusteredCollectionOptions, MongoCollationOptions, MongoCollection, MongoCollectionOptions, MongoContractSchema, MongoIndex, MongoIndexOptionDefaults, MongoIndexOptions, MongoStorage, MongoTimeSeriesCollectionOptions, MongoUnboundNamespace, MongoValidator, MongoValueSet, StorageValueSetSchema, applyPolymorphicScopeToMongoIndex, buildMongoContractView, buildMongoNamespace, createMongoContractSchema, createMongoNamespaceEnvelopeSchema, defaultMongoDomainNamespaceId, defaultMongoStorageNamespaceId, validateMongoStorage };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}