@prisma/orm-family-mongo 8.0.0-rc.1-dev.41 → 8.0.0-rc.1-dev.43

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.
package/dist/orm.d.mts CHANGED
@@ -4,12 +4,13 @@ import { c as MongoValue, t as Document } from "./index-wKMm41HC.mjs";
4
4
  import { B as MongoFilterExpr, rt as MongoQueryPlan } from "./query-plan-C0-Yu8hf-DdilEdW6.mjs";
5
5
  import "./execution-CKnUiOfm.mjs";
6
6
  import { ContractField, ContractReferenceRelation, ContractValueObject, ContractValueObjectDefinitions } from "@prisma/orm-framework/contract/types";
7
- import { AsyncIterableResult } from "@prisma/orm-framework/components/runtime";
7
+ import { AsyncIterableResult, RuntimeStatementStats } from "@prisma/orm-framework/components/runtime";
8
8
  import { SimplifyDeep } from "@prisma/orm-framework/utils/simplify-deep";
9
9
  //#region ../../../2-mongo-family/5-query-builders/orm/dist/index.d.mts
10
10
  //#region src/executor.d.ts
11
11
  interface MongoQueryExecutor {
12
- execute<Row>(plan: MongoQueryPlan<Row>): AsyncIterableResult<Row>;
12
+ query<Row>(plan: MongoQueryPlan<Row>): AsyncIterableResult<Row>;
13
+ execute(plan: MongoQueryPlan): Promise<RuntimeStatementStats>;
13
14
  }
14
15
  //#endregion
15
16
  //#region src/field-accessor.d.ts
@@ -1 +1 @@
1
- {"version":3,"file":"orm.d.mts","names":[],"sources":["../../../../2-mongo-family/5-query-builders/orm/dist/index.d.mts"],"mappings":";;;;;;;;;;UAOU;EACR,QAAQ,KAAK,MAAM,eAAiB,OAAO,oBAAoB;;;;KAI5D;UACK;WACC,UAAU;WACV;WACA,OAAO;;KAEb,gBAAgB,kBAAkB,eAAe,iCAAiC,eAAe,iBAAiB,WAAW,eAAe,WAAW,gCAAgC,eAAe,WAAW,qBAAqB;WAChO;aACE;;IAET,mBAAmB,eAAe,WAAW;KAC5C,qBAAqB,kBAAkB,eAAe,iCAAiC,eAAe,iBAAiB,WAAW,eAAe,WAAW,gCAAgC,eAAe,WAAW,qBAAqB;WACrO;aACE;aACA;;IAET,mBAAmB,eAAe,WAAW;KAC5C,iBAAiB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,cAAc,WAAW;KACtL,iBAAiB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,gBAAgB,eAAe,WAAW,+BAA+B,oBAAoB;EAC3P;KACG,uBAAuB,cAAc,eAAe,WAAW,qBAAqB;WAC9E;aACE;aACA,eAAe,2BAA2B;;WAE5C;WACA;aACE,YAAY,0BAA0B,eAAe,WAAW,qBAAqB;WACvF;aACE;aACA,eAAe,2BAA2B;;WAE5C;aACE,YAAY,mBAAmB,eAAe,WAAW,qBAAqB;WAChF;aACE;aACA,eAAe,2BAA2B;;WAE5C;IACP,YAAY,wBAAwB,eAAe,WAAW,qBAAqB;WAC5E;aACE;aACA,eAAe,2BAA2B;;IAEnD,YAAY,iBAAiB,gBAAgB,iBAAiB,WAAW,aAAa,iBAAiB,WAAW,WAAW;KAC5H;EACH,IAAI,gBAAgB;EACpB,IAAI,gBAAgB;;KAEjB,gBAAgB;EACnB,IAAI,OAAO,IAAI;EACf,SAAS;EACT,KAAK,OAAO,0BAA0B,OAAO,cAAc;EAC3D,KAAK,OAAO,0BAA0B,OAAO,IAAI,QAAQ,eAAe;EACxE,SAAS,OAAO,0BAA0B,OAAO,cAAc;EAC/D,IAAI,cAAc;KACf,mBAAmB;KACnB,kBAAkB;KAClB,2BAA2B,kBAAkB,mBAAmB,+BAA+B,cAAc;WACvG,qBAAqB;IAC5B,YAAY,eAAe,uBAAuB,MAAM,wBAAwB;KAC/E,SAAS,kBAAkB,iBAAiB,yBAAyB,qBAAqB,2BAA2B,aAAa,2BAA2B,WAAW;WAClK,cAAc,UAAU,eAAe;IAC9C;KACC,kBAAkB,eAAe,eAAe,qBAAqB,WAAW,kBAAkB,OAAO;WACnG;aACE;;IAET,mBAAmB;KAClB,uBAAuB,eAAe,eAAe,qBAAqB,WAAW,kBAAkB,OAAO;WACxG;aACE;aACA;;IAET,mBAAmB;KAClB,WAAW,kBAAkB,iBAAiB,eAAe,eAAe,gBAAgB,4BAA4B,KAAK,kBAAkB,aAAa,SAAS,OAAO,kBAAkB,cAAc,KAAK,uBAAuB,UAAU,OAAO;WACnP;aACE;aACA,YAAY;;IAErB,WAAW,WAAW,SAAS,WAAW,OAAO,SAAS,iBAAiB,uBAAuB;KACjG,QAAQ,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,iBAAiB,KAAK,qBAAqB,WAAW,aAAa,eAAe,WAAW,qBAAqB;WAClP;aACE;aACA,YAAY;;IAErB,WAAW,WAAW,SAAS,WAAW,OAAO,iBAAiB,qBAAqB,WAAW;KACjG,uBAAuB,kBAAkB,iBAAiB,eAAe,eAAe,gBAAgB,qBAAqB,oBAAoB;EACpJ;MACI,sBAAsB,cAAc,SAAS,mBAAmB,kBAAkB,OAAO;WACpF;aACE;aACA,YAAY;;IAErB,uBAAuB,WAAW,SAAS,WAAW,IAAI,MAAM,+BAA+B,mBAAmB,kBAAkB,OAAO;WACpI;aACE;aACA,eAAe,2BAA2B;;IAEnD,YAAY;KACX,mBAAmB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,qBAAqB,oBAAoB;EACzM;KACG,uBAAuB,cAAc,sBAAsB,cAAc,SAAS,mBAAmB,eAAe,WAAW,gCAAgC,eAAe,WAAW,qBAAqB;WACxM;aACE;aACA,YAAY;;IAErB,uBAAuB,WAAW,SAAS,WAAW,IAAI,MAAM;KAC/D,cAAc,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,oBAAoB;EAC/K;KACG,uBAAuB,0BAA0B,KAAK,gBAAgB,WAAW,aAAa,gBAAgB,iBAAiB,WAAW,WAAW,GAAG,+BAA+B,KAAK,qBAAqB,WAAW,aAAa,gBAAgB,iBAAiB,WAAW,WAAW,GAAG,qBAAqB,UAAU,QAAQ,WAAW,YAAY,MAAM,MAAM,gBAAgB,mBAAmB,WAAW,WAAW,GAAG;iBAC7Z,oBAAoB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,oBAAoB;EACjM;KACG,uBAAuB,eAAe,cAAc,WAAW,WAAW;;;KAG1E,SAAS,KAAK,uBAAuB,WAAW,IAAI,EAAE;KACtD,eAAe,kBAAkB,eAAe,iCAAiC,eAAe,cAAc,YAAY,eAAe,WAAW;KACpJ,sBAAsB,kBAAkB,eAAe,iCAAiC,eAAe,iBAAiB,WAAW,eAAe,WAAW,aAAa,eAAe,WAAW,WAAW,WAAW,4BAA4B,mBAAmB,eAAe,WAAW;KACnS,kBAAkB,kBAAkB,eAAe,iCAAiC,eAAe,iBAAiB,WAAW,eAAe,WAAW,aAAa,eAAe,WAAW,WAAW,WAAW,oCAAoC,WAAW,eAAe,WAAW;KAC/R,kBAAkB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,mCAAmC,6BAA6B,aAAa,cAAc,WAAW,aAAa,wBAAwB,6BAA6B,0BAA0B,WAAW,6BAA6B,WAAW,aAAa,6BAA6B,WAAW,WAAW,QAAQ,cAAc,WAAW;KACte,iBAAiB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,mCAAmC,4BAA4B,aAAa,cAAc,WAAW,aAAa,wBAAwB,4BAA4B,0BAA0B,WAAW,4BAA4B,WAAW,aAAa,4BAA4B,WAAW,WAAW,QAAQ,cAAc,WAAW;KACje,oBAAoB,kBAAkB,eAAe,KAAK;WACpD;aACE,aAAa,yBAAyB,eAAe;;IAE9D;KACC,qBAAqB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,qBAAqB,eAAe,WAAW,cAAc,eAAe,WAAW,WAAW,uBAAuB,KAAK;WACvR,mBAAmB;IAC1B,eAAe,WAAW,WAAW,gBAAgB,oCAAoC,oBAAoB,WAAW,kBAAkB,0BAA0B,eAAe,cAAc,kBAAkB,kBAAkB,WAAW,QAAQ,kBAAkB,WAAW;KACpR,aAAa,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,kBAAkB,WAAW,2BAA2B,kBAAkB,WAAW,aAAa,kBAAkB,WAAW,0BAA0B,KAAK,kBAAkB,WAAW,mBAAmB,eAAe,WAAW,aAAa,qBAAqB,WAAW,WAAW;KACzb,WAAW,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,eAAe,WAAW;WAC3K;aACE,aAAa;;WAEf,gBAAgB;IACvB,UAAU;WACH;QACH,YAAY,IAAI,0BAA0B,eAAe,aAAa,SAAS,KAAK,aAAa,WAAW,YAAY,aAAa,aAAa,WAAW,MAAM,OAAO,WAAW,EAAE,gCAAgC,KAAK,aAAa,WAAW,aAAa,aAAa,WAAW;KAC5R,aAAa,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,WAAW,WAAW;KAC/K,aAAa,kBAAkB,eAAe,iCAAiC,eAAe,cAAc,eAAe,WAAW;WAChI,gBAAgB,UAAU;UAC3B;KACL,gBAAgB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,8BAA8B,eAAe,WAAW;WAC5M;aACE,aAAa;;WAEf,gBAAgB;IACvB,UAAU;WACH;KACN,0BAA0B,mBAAmB,eAAe,aAAa,SAAS,KAAK,aAAa,WAAW,YAAY,aAAa,aAAa,WAAW,eAAe,OAAO,WAAW,EAAE,0BAA0B,aAAa,WAAW,aAAa,aAAa,WAAW,aAAa,aAAa,WAAW;KAC/T,uBAAuB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,qBAAqB,eAAe,WAAW,cAAc,eAAe,WAAW,WAAW,gBAAgB,4BAA4B,eAAe,WAAW,WAAW,uBAAuB,KAAK;WAC1W,mBAAmB;IAC1B,oBAAoB,WAAW,kBAAkB,0BAA0B,eAAe,cAAc,0BAA0B,aAAa,WAAW,aAAa,aAAa,WAAW;KAC9L,oBAAoB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,iBAAiB,iBAAiB,WAAW,2BAA2B,WAAW,qBAAqB,SAAS,kBAAkB,YAAY,gBAAgB,eAAe,WAAW,aAAa,uBAAuB,WAAW,WAAW;KACjZ,iBAAiB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,oBAAoB;EAClL;KACG,uBAAuB,0BAA0B,WAAW,eAAe,WAAW,wBAAwB,eAAe,WAAW,qBAAqB;WACvJ;aACE;aACA,eAAe,2BAA2B;;IAEnD,YAAY;KACX,iBAAiB,kBAAkB,eAAe,iCAAiC,eAAe,0BAA0B,KAAK,sBAAsB,WAAW;KAClK,aAAa,KAAK;KAClB,YAAY,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,kBAAkB,iBAAiB,WAAW,aAAa,cAAc,aAAa,WAAW,aAAa,oBAAoB,WAAW,WAAW;KAC9S,gBAAgB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,kBAAkB,WAAW;KACzL,YAAY,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,KAAK,iBAAiB,WAAW,qBAAqB,QAAQ,KAAK,iBAAiB,WAAW,0BAA0B,iBAAiB,WAAW;KAC7S,mBAAmB,kBAAkB,eAAe,iCAAiC,eAAe,cAAc,eAAe,WAAW;WACtI;aACE,aAAa;;IAEtB;KACC,mBAAmB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,8BAA8B,KAAK,gBAAgB,WAAW,WAAW,sBAAsB,mBAAmB,WAAW,cAAc,QAAQ,KAAK,iBAAiB,WAAW,0BAA0B,iBAAiB,WAAW;KACvY,oBAAoB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,4BAA4B,4BAA4B,YAAY,WAAW,aAAa,mBAAmB,WAAW,WAAW;;;KAGnS,eAAe,kBAAkB,eAAe,iCAAiC,eAAe,oBAAoB,eAAe,WAAW;UACzI,gBAAgB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,kBAAkB,iBAAiB,WAAW,aAAa,YAAY;;EAEzO,QAAQ,UAAU,aAAa,WAAW,YAAY,aAAa,IAAI,gBAAgB,WAAW,WAAW,WAAW;;EAExH,MAAM,QAAQ,iBAAiB,WAAW,aAAa,gBAAgB,WAAW,WAAW,WAAW;;EAExG,MAAM,QAAQ,kBAAkB,gBAAgB,WAAW,WAAW,WAAW;;EAEjF,UAAU,QAAQ,eAAe,WAAW,eAAe,gBAAgB,WAAW,WAAW,WAAW;;EAE5G,QAAQ,UAAU,sBAAsB,WAAW,qBAAqB,cAAc,IAAI,gBAAgB,WAAW,WAAW,YAAY,OAAO,UAAU;;EAE7J,QAAQ,MAAM,QAAQ,OAAO,eAAe,WAAW,uBAAuB,gBAAgB,WAAW,WAAW,WAAW;;EAE/H,KAAK,YAAY,gBAAgB,WAAW,WAAW,WAAW;;EAElE,KAAK,YAAY,gBAAgB,WAAW,WAAW,WAAW;;EAElE,OAAO,oBAAoB,YAAY,WAAW,WAAW;;EAE7D,SAAS,QAAQ,YAAY,WAAW,WAAW;;EAEnD,OAAO,MAAM,oBAAoB,WAAW,WAAW,YAAY,QAAQ,YAAY,WAAW,WAAW;;EAE7G,UAAU,MAAM,cAAc,oBAAoB,WAAW,WAAW,aAAa,oBAAoB,YAAY,WAAW,WAAW;;EAE3I,eAAe,MAAM,cAAc,oBAAoB,WAAW,WAAW,aAAa;;EAE1F,OAAO,MAAM,QAAQ,gBAAgB,WAAW,cAAc,QAAQ,YAAY,WAAW,WAAW;;EAExG,OAAO,WAAW,GAAG,cAAc,WAAW,eAAe,mBAAmB,QAAQ,YAAY,WAAW,WAAW;;EAE1H,UAAU,MAAM,QAAQ,gBAAgB,WAAW,cAAc,oBAAoB,YAAY,WAAW,WAAW;;EAEvH,UAAU,WAAW,GAAG,cAAc,WAAW,eAAe,mBAAmB,oBAAoB,YAAY,WAAW,WAAW;;EAEzI,eAAe,MAAM,QAAQ,gBAAgB,WAAW,cAAc;;EAEtE,eAAe,WAAW,GAAG,cAAc,WAAW,eAAe,mBAAmB;;EAExF,UAAU,QAAQ,YAAY,WAAW,WAAW;;EAEpD,aAAa,oBAAoB,YAAY,WAAW,WAAW;;EAEnE,kBAAkB;;;;;;EAMlB,OAAO;IACL,QAAQ,oBAAoB,WAAW,WAAW;IAClD,QAAQ,QAAQ,gBAAgB,WAAW;MACzC,QAAQ,YAAY,WAAW,WAAW;;EAE9C,OAAO;IACL,QAAQ,oBAAoB,WAAW,WAAW;IAClD,SAAS,GAAG,cAAc,WAAW,eAAe;MAClD,QAAQ,YAAY,WAAW,WAAW;;iBAE/B,sBAAsB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,UAAU,WAAW,WAAW,WAAW,UAAU,qBAAqB,gBAAgB,WAAW;;;UAG5Q;WACC;WACA;WACA;WACA;WACA;;UAED;WACC,kBAAkB;WAClB,mBAAmB;WACnB,SAAS,SAAS;WAClB;WACA;WACA;;;;iBAIM,kBAAkB,eAAe,oBAAoB,OAAO,sBAAsB,qBAAqB,OAAO,uBAAuB,eAAiB;;;UAG7J,gBAAgB,kBAAkB;WACjC,UAAU;WACV,UAAU;;KAEhB,eAAe,kBAAkB,0BAA0B,eAAe,iCAAiC,WAAW,8BAA8B,gBAAgB,WAAW,cAAc,WAAW;iBAC5L,SAAS,kBAAkB,0BAA0B,eAAe,mBAAmB,SAAS,gBAAgB,aAAa,eAAe;;;UAGnJ,UAAU;EAClB,SAAS,eAAiB;;UAElB;EACR,UAAU,MAAM,yBAAyB,UAAU,cAAc,YAAY,UAAU;EACvF,UAAU,UAAU,WAAW;EAC/B,WAAW,WAAW,cAAc,YAAY;EAChD,UAAU,QAAQ,UAAU,QAAQ,WAAW,cAAc,YAAY;EACzE,WAAW,QAAQ,UAAU,QAAQ,WAAW,cAAc,YAAY;EAC1E,UAAU,QAAQ,WAAW;EAC7B,WAAW,QAAQ,WAAW;EAC9B,iBAAiB,QAAQ,UAAU,QAAQ,WAAW,cAAc,WAAW;IAC7E;MACE;EACJ,iBAAiB,QAAQ,WAAW;;;;UAI5B,eAAe,kBAAkB;EACzC,WAAW,gBAAgB,6BAA6B,UAAU,IAAI;;iBAEvD,SAAS,kBAAkB,eAAe;EACzD,UAAU;IACR,eAAe"}
1
+ {"version":3,"file":"orm.d.mts","names":[],"sources":["../../../../2-mongo-family/5-query-builders/orm/dist/index.d.mts"],"mappings":";;;;;;;;;;UAOU;EACR,MAAM,KAAK,MAAM,eAAiB,OAAO,oBAAoB;EAC7D,QAAQ,MAAM,iBAAmB,QAAQ;;;;KAItC;UACK;WACC,UAAU;WACV;WACA,OAAO;;KAEb,gBAAgB,kBAAkB,eAAe,iCAAiC,eAAe,iBAAiB,WAAW,eAAe,WAAW,gCAAgC,eAAe,WAAW,qBAAqB;WAChO;aACE;;IAET,mBAAmB,eAAe,WAAW;KAC5C,qBAAqB,kBAAkB,eAAe,iCAAiC,eAAe,iBAAiB,WAAW,eAAe,WAAW,gCAAgC,eAAe,WAAW,qBAAqB;WACrO;aACE;aACA;;IAET,mBAAmB,eAAe,WAAW;KAC5C,iBAAiB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,cAAc,WAAW;KACtL,iBAAiB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,gBAAgB,eAAe,WAAW,+BAA+B,oBAAoB;EAC3P;KACG,uBAAuB,cAAc,eAAe,WAAW,qBAAqB;WAC9E;aACE;aACA,eAAe,2BAA2B;;WAE5C;WACA;aACE,YAAY,0BAA0B,eAAe,WAAW,qBAAqB;WACvF;aACE;aACA,eAAe,2BAA2B;;WAE5C;aACE,YAAY,mBAAmB,eAAe,WAAW,qBAAqB;WAChF;aACE;aACA,eAAe,2BAA2B;;WAE5C;IACP,YAAY,wBAAwB,eAAe,WAAW,qBAAqB;WAC5E;aACE;aACA,eAAe,2BAA2B;;IAEnD,YAAY,iBAAiB,gBAAgB,iBAAiB,WAAW,aAAa,iBAAiB,WAAW,WAAW;KAC5H;EACH,IAAI,gBAAgB;EACpB,IAAI,gBAAgB;;KAEjB,gBAAgB;EACnB,IAAI,OAAO,IAAI;EACf,SAAS;EACT,KAAK,OAAO,0BAA0B,OAAO,cAAc;EAC3D,KAAK,OAAO,0BAA0B,OAAO,IAAI,QAAQ,eAAe;EACxE,SAAS,OAAO,0BAA0B,OAAO,cAAc;EAC/D,IAAI,cAAc;KACf,mBAAmB;KACnB,kBAAkB;KAClB,2BAA2B,kBAAkB,mBAAmB,+BAA+B,cAAc;WACvG,qBAAqB;IAC5B,YAAY,eAAe,uBAAuB,MAAM,wBAAwB;KAC/E,SAAS,kBAAkB,iBAAiB,yBAAyB,qBAAqB,2BAA2B,aAAa,2BAA2B,WAAW;WAClK,cAAc,UAAU,eAAe;IAC9C;KACC,kBAAkB,eAAe,eAAe,qBAAqB,WAAW,kBAAkB,OAAO;WACnG;aACE;;IAET,mBAAmB;KAClB,uBAAuB,eAAe,eAAe,qBAAqB,WAAW,kBAAkB,OAAO;WACxG;aACE;aACA;;IAET,mBAAmB;KAClB,WAAW,kBAAkB,iBAAiB,eAAe,eAAe,gBAAgB,4BAA4B,KAAK,kBAAkB,aAAa,SAAS,OAAO,kBAAkB,cAAc,KAAK,uBAAuB,UAAU,OAAO;WACnP;aACE;aACA,YAAY;;IAErB,WAAW,WAAW,SAAS,WAAW,OAAO,SAAS,iBAAiB,uBAAuB;KACjG,QAAQ,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,iBAAiB,KAAK,qBAAqB,WAAW,aAAa,eAAe,WAAW,qBAAqB;WAClP;aACE;aACA,YAAY;;IAErB,WAAW,WAAW,SAAS,WAAW,OAAO,iBAAiB,qBAAqB,WAAW;KACjG,uBAAuB,kBAAkB,iBAAiB,eAAe,eAAe,gBAAgB,qBAAqB,oBAAoB;EACpJ;MACI,sBAAsB,cAAc,SAAS,mBAAmB,kBAAkB,OAAO;WACpF;aACE;aACA,YAAY;;IAErB,uBAAuB,WAAW,SAAS,WAAW,IAAI,MAAM,+BAA+B,mBAAmB,kBAAkB,OAAO;WACpI;aACE;aACA,eAAe,2BAA2B;;IAEnD,YAAY;KACX,mBAAmB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,qBAAqB,oBAAoB;EACzM;KACG,uBAAuB,cAAc,sBAAsB,cAAc,SAAS,mBAAmB,eAAe,WAAW,gCAAgC,eAAe,WAAW,qBAAqB;WACxM;aACE;aACA,YAAY;;IAErB,uBAAuB,WAAW,SAAS,WAAW,IAAI,MAAM;KAC/D,cAAc,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,oBAAoB;EAC/K;KACG,uBAAuB,0BAA0B,KAAK,gBAAgB,WAAW,aAAa,gBAAgB,iBAAiB,WAAW,WAAW,GAAG,+BAA+B,KAAK,qBAAqB,WAAW,aAAa,gBAAgB,iBAAiB,WAAW,WAAW,GAAG,qBAAqB,UAAU,QAAQ,WAAW,YAAY,MAAM,MAAM,gBAAgB,mBAAmB,WAAW,WAAW,GAAG;iBAC7Z,oBAAoB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,oBAAoB;EACjM;KACG,uBAAuB,eAAe,cAAc,WAAW,WAAW;;;KAG1E,SAAS,KAAK,uBAAuB,WAAW,IAAI,EAAE;KACtD,eAAe,kBAAkB,eAAe,iCAAiC,eAAe,cAAc,YAAY,eAAe,WAAW;KACpJ,sBAAsB,kBAAkB,eAAe,iCAAiC,eAAe,iBAAiB,WAAW,eAAe,WAAW,aAAa,eAAe,WAAW,WAAW,WAAW,4BAA4B,mBAAmB,eAAe,WAAW;KACnS,kBAAkB,kBAAkB,eAAe,iCAAiC,eAAe,iBAAiB,WAAW,eAAe,WAAW,aAAa,eAAe,WAAW,WAAW,WAAW,oCAAoC,WAAW,eAAe,WAAW;KAC/R,kBAAkB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,mCAAmC,6BAA6B,aAAa,cAAc,WAAW,aAAa,wBAAwB,6BAA6B,0BAA0B,WAAW,6BAA6B,WAAW,aAAa,6BAA6B,WAAW,WAAW,QAAQ,cAAc,WAAW;KACte,iBAAiB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,mCAAmC,4BAA4B,aAAa,cAAc,WAAW,aAAa,wBAAwB,4BAA4B,0BAA0B,WAAW,4BAA4B,WAAW,aAAa,4BAA4B,WAAW,WAAW,QAAQ,cAAc,WAAW;KACje,oBAAoB,kBAAkB,eAAe,KAAK;WACpD;aACE,aAAa,yBAAyB,eAAe;;IAE9D;KACC,qBAAqB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,qBAAqB,eAAe,WAAW,cAAc,eAAe,WAAW,WAAW,uBAAuB,KAAK;WACvR,mBAAmB;IAC1B,eAAe,WAAW,WAAW,gBAAgB,oCAAoC,oBAAoB,WAAW,kBAAkB,0BAA0B,eAAe,cAAc,kBAAkB,kBAAkB,WAAW,QAAQ,kBAAkB,WAAW;KACpR,aAAa,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,kBAAkB,WAAW,2BAA2B,kBAAkB,WAAW,aAAa,kBAAkB,WAAW,0BAA0B,KAAK,kBAAkB,WAAW,mBAAmB,eAAe,WAAW,aAAa,qBAAqB,WAAW,WAAW;KACzb,WAAW,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,eAAe,WAAW;WAC3K;aACE,aAAa;;WAEf,gBAAgB;IACvB,UAAU;WACH;QACH,YAAY,IAAI,0BAA0B,eAAe,aAAa,SAAS,KAAK,aAAa,WAAW,YAAY,aAAa,aAAa,WAAW,MAAM,OAAO,WAAW,EAAE,gCAAgC,KAAK,aAAa,WAAW,aAAa,aAAa,WAAW;KAC5R,aAAa,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,WAAW,WAAW;KAC/K,aAAa,kBAAkB,eAAe,iCAAiC,eAAe,cAAc,eAAe,WAAW;WAChI,gBAAgB,UAAU;UAC3B;KACL,gBAAgB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,8BAA8B,eAAe,WAAW;WAC5M;aACE,aAAa;;WAEf,gBAAgB;IACvB,UAAU;WACH;KACN,0BAA0B,mBAAmB,eAAe,aAAa,SAAS,KAAK,aAAa,WAAW,YAAY,aAAa,aAAa,WAAW,eAAe,OAAO,WAAW,EAAE,0BAA0B,aAAa,WAAW,aAAa,aAAa,WAAW,aAAa,aAAa,WAAW;KAC/T,uBAAuB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,qBAAqB,eAAe,WAAW,cAAc,eAAe,WAAW,WAAW,gBAAgB,4BAA4B,eAAe,WAAW,WAAW,uBAAuB,KAAK;WAC1W,mBAAmB;IAC1B,oBAAoB,WAAW,kBAAkB,0BAA0B,eAAe,cAAc,0BAA0B,aAAa,WAAW,aAAa,aAAa,WAAW;KAC9L,oBAAoB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,iBAAiB,iBAAiB,WAAW,2BAA2B,WAAW,qBAAqB,SAAS,kBAAkB,YAAY,gBAAgB,eAAe,WAAW,aAAa,uBAAuB,WAAW,WAAW;KACjZ,iBAAiB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,oBAAoB;EAClL;KACG,uBAAuB,0BAA0B,WAAW,eAAe,WAAW,wBAAwB,eAAe,WAAW,qBAAqB;WACvJ;aACE;aACA,eAAe,2BAA2B;;IAEnD,YAAY;KACX,iBAAiB,kBAAkB,eAAe,iCAAiC,eAAe,0BAA0B,KAAK,sBAAsB,WAAW;KAClK,aAAa,KAAK;KAClB,YAAY,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,kBAAkB,iBAAiB,WAAW,aAAa,cAAc,aAAa,WAAW,aAAa,oBAAoB,WAAW,WAAW;KAC9S,gBAAgB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,kBAAkB,WAAW;KACzL,YAAY,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,cAAc,KAAK,iBAAiB,WAAW,qBAAqB,QAAQ,KAAK,iBAAiB,WAAW,0BAA0B,iBAAiB,WAAW;KAC7S,mBAAmB,kBAAkB,eAAe,iCAAiC,eAAe,cAAc,eAAe,WAAW;WACtI;aACE,aAAa;;IAEtB;KACC,mBAAmB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,8BAA8B,KAAK,gBAAgB,WAAW,WAAW,sBAAsB,mBAAmB,WAAW,cAAc,QAAQ,KAAK,iBAAiB,WAAW,0BAA0B,iBAAiB,WAAW;KACvY,oBAAoB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,4BAA4B,4BAA4B,YAAY,WAAW,aAAa,mBAAmB,WAAW,WAAW;;;KAGnS,eAAe,kBAAkB,eAAe,iCAAiC,eAAe,oBAAoB,eAAe,WAAW;UACzI,gBAAgB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,kBAAkB,iBAAiB,WAAW,aAAa,YAAY;;EAEzO,QAAQ,UAAU,aAAa,WAAW,YAAY,aAAa,IAAI,gBAAgB,WAAW,WAAW,WAAW;;EAExH,MAAM,QAAQ,iBAAiB,WAAW,aAAa,gBAAgB,WAAW,WAAW,WAAW;;EAExG,MAAM,QAAQ,kBAAkB,gBAAgB,WAAW,WAAW,WAAW;;EAEjF,UAAU,QAAQ,eAAe,WAAW,eAAe,gBAAgB,WAAW,WAAW,WAAW;;EAE5G,QAAQ,UAAU,sBAAsB,WAAW,qBAAqB,cAAc,IAAI,gBAAgB,WAAW,WAAW,YAAY,OAAO,UAAU;;EAE7J,QAAQ,MAAM,QAAQ,OAAO,eAAe,WAAW,uBAAuB,gBAAgB,WAAW,WAAW,WAAW;;EAE/H,KAAK,YAAY,gBAAgB,WAAW,WAAW,WAAW;;EAElE,KAAK,YAAY,gBAAgB,WAAW,WAAW,WAAW;;EAElE,OAAO,oBAAoB,YAAY,WAAW,WAAW;;EAE7D,SAAS,QAAQ,YAAY,WAAW,WAAW;;EAEnD,OAAO,MAAM,oBAAoB,WAAW,WAAW,YAAY,QAAQ,YAAY,WAAW,WAAW;;EAE7G,UAAU,MAAM,cAAc,oBAAoB,WAAW,WAAW,aAAa,oBAAoB,YAAY,WAAW,WAAW;;EAE3I,eAAe,MAAM,cAAc,oBAAoB,WAAW,WAAW,aAAa;;EAE1F,OAAO,MAAM,QAAQ,gBAAgB,WAAW,cAAc,QAAQ,YAAY,WAAW,WAAW;;EAExG,OAAO,WAAW,GAAG,cAAc,WAAW,eAAe,mBAAmB,QAAQ,YAAY,WAAW,WAAW;;EAE1H,UAAU,MAAM,QAAQ,gBAAgB,WAAW,cAAc,oBAAoB,YAAY,WAAW,WAAW;;EAEvH,UAAU,WAAW,GAAG,cAAc,WAAW,eAAe,mBAAmB,oBAAoB,YAAY,WAAW,WAAW;;EAEzI,eAAe,MAAM,QAAQ,gBAAgB,WAAW,cAAc;;EAEtE,eAAe,WAAW,GAAG,cAAc,WAAW,eAAe,mBAAmB;;EAExF,UAAU,QAAQ,YAAY,WAAW,WAAW;;EAEpD,aAAa,oBAAoB,YAAY,WAAW,WAAW;;EAEnE,kBAAkB;;;;;;EAMlB,OAAO;IACL,QAAQ,oBAAoB,WAAW,WAAW;IAClD,QAAQ,QAAQ,gBAAgB,WAAW;MACzC,QAAQ,YAAY,WAAW,WAAW;;EAE9C,OAAO;IACL,QAAQ,oBAAoB,WAAW,WAAW;IAClD,SAAS,GAAG,cAAc,WAAW,eAAe;MAClD,QAAQ,YAAY,WAAW,WAAW;;iBAE/B,sBAAsB,kBAAkB,0BAA0B,eAAe,mBAAmB,iCAAiC,eAAe,YAAY,UAAU,WAAW,WAAW,WAAW,UAAU,qBAAqB,gBAAgB,WAAW;;;UAG5Q;WACC;WACA;WACA;WACA;WACA;;UAED;WACC,kBAAkB;WAClB,mBAAmB;WACnB,SAAS,SAAS;WAClB;WACA;WACA;;;;iBAIM,kBAAkB,eAAe,oBAAoB,OAAO,sBAAsB,qBAAqB,OAAO,uBAAuB,eAAiB;;;UAG7J,gBAAgB,kBAAkB;WACjC,UAAU;WACV,UAAU;;KAEhB,eAAe,kBAAkB,0BAA0B,eAAe,iCAAiC,WAAW,8BAA8B,gBAAgB,WAAW,cAAc,WAAW;iBAC5L,SAAS,kBAAkB,0BAA0B,eAAe,mBAAmB,SAAS,gBAAgB,aAAa,eAAe;;;UAGnJ,UAAU;EAClB,SAAS,eAAiB;;UAElB;EACR,UAAU,MAAM,yBAAyB,UAAU,cAAc,YAAY,UAAU;EACvF,UAAU,UAAU,WAAW;EAC/B,WAAW,WAAW,cAAc,YAAY;EAChD,UAAU,QAAQ,UAAU,QAAQ,WAAW,cAAc,YAAY;EACzE,WAAW,QAAQ,UAAU,QAAQ,WAAW,cAAc,YAAY;EAC1E,UAAU,QAAQ,WAAW;EAC7B,WAAW,QAAQ,WAAW;EAC9B,iBAAiB,QAAQ,UAAU,QAAQ,WAAW,cAAc,WAAW;IAC7E;MACE;EACJ,iBAAiB,QAAQ,WAAW;;;;UAI5B,eAAe,kBAAkB;EACzC,WAAW,gBAAgB,6BAA6B,UAAU,IAAI;;iBAEvD,SAAS,kBAAkB,eAAe;EACzD,UAAU;IACR,eAAe"}
package/dist/orm.mjs CHANGED
@@ -230,10 +230,10 @@ var MongoCollectionImpl = class MongoCollectionImpl {
230
230
  return this.#clone({ offset: n });
231
231
  }
232
232
  all() {
233
- return this.#execute();
233
+ return this.#query();
234
234
  }
235
235
  async first() {
236
- const result = this.#clone({ limit: 1 }).#execute();
236
+ const result = this.#clone({ limit: 1 }).#query();
237
237
  for await (const row of result) return row;
238
238
  return null;
239
239
  }
@@ -291,7 +291,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
291
291
  const command = new UpdateManyCommand(self.#collectionName, filter, updateDoc);
292
292
  await self.#drainPlan(command);
293
293
  const idFilter = MongoFieldFilter.in("_id", ids.map((id) => new MongoParamRef(id)));
294
- yield* self.#clone({ filters: [idFilter] }).#execute();
294
+ yield* self.#clone({ filters: [idFilter] }).#query();
295
295
  }
296
296
  return new AsyncIterableResult(gen());
297
297
  }
@@ -302,7 +302,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
302
302
  const filter = this.#mergeFilters();
303
303
  const updateDoc = this.#resolveUpdateDoc(dataOrCallback);
304
304
  const command = new UpdateManyCommand(this.#collectionName, filter, updateDoc);
305
- return blindCast((await this.#drainPlan(command))[0]).modifiedCount;
305
+ return (await this.#executePlan(command)).affectedRows;
306
306
  }
307
307
  async delete() {
308
308
  this.#requireFilters("delete");
@@ -319,7 +319,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
319
319
  const self = this;
320
320
  async function* gen() {
321
321
  const docs = [];
322
- for await (const row of self.#execute()) docs.push(row);
322
+ for await (const row of self.#query()) docs.push(row);
323
323
  const filter = self.#mergeFilters();
324
324
  const command = new DeleteManyCommand(self.#collectionName, filter);
325
325
  await self.#drainPlan(command);
@@ -333,7 +333,7 @@ var MongoCollectionImpl = class MongoCollectionImpl {
333
333
  this.#rejectIncludes("deleteAndCount");
334
334
  const filter = this.#mergeFilters();
335
335
  const command = new DeleteManyCommand(this.#collectionName, filter);
336
- return blindCast((await this.#drainPlan(command))[0]).deletedCount;
336
+ return (await this.#executePlan(command)).affectedRows;
337
337
  }
338
338
  async upsert(input) {
339
339
  this.#requireFilters("upsert");
@@ -375,15 +375,15 @@ var MongoCollectionImpl = class MongoCollectionImpl {
375
375
  });
376
376
  const ids = [];
377
377
  const { resultShape: _rs, ...planWithoutShape } = idQuery.#compile();
378
- for await (const row of this.#executor.execute(planWithoutShape)) {
378
+ for await (const row of this.#executor.query(planWithoutShape)) {
379
379
  const storageRow = blindCast(row);
380
380
  ids.push(storageRow["_id"]);
381
381
  }
382
382
  return ids;
383
383
  }
384
- #execute() {
384
+ #query() {
385
385
  const plan = this.#compile();
386
- return this.#executor.execute(plan);
386
+ return this.#executor.query(plan);
387
387
  }
388
388
  #compile() {
389
389
  const model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);
@@ -398,9 +398,12 @@ var MongoCollectionImpl = class MongoCollectionImpl {
398
398
  ...ifDefined("resultShape", resultShape)
399
399
  };
400
400
  }
401
+ #executePlan(command) {
402
+ return this.#executor.execute(this.#wrapCommand(command));
403
+ }
401
404
  async #drainPlan(command, resultShape) {
402
405
  const plan = this.#wrapCommand(command, resultShape);
403
- const result = this.#executor.execute(plan);
406
+ const result = this.#executor.query(plan);
404
407
  const rows = [];
405
408
  for await (const row of result) rows.push(row);
406
409
  return rows;
package/dist/orm.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"orm.mjs","names":["#contract","#modelName","#executor","#collectionName","#state","#cloneWithVariant","#clone","#compileWhereObject","#execute","#rejectIncludes","#injectDiscriminator","#stripUndefined","#toDocument","#drainPlan","#insertOneResultShape","#insertManyResultShape","#requireFilters","#rejectWindowing","#mergeFilters","#resolveUpdateDoc","#modelResultShape","#readMatchingIds","#wrapFieldOpValue","#toSetFields","#compile","#planMeta","#wrapCommand","#modelFields","#idFieldShape","#wrapFieldValue","#wrapValueObject","#toUpdateDocument","#wrapDotPathValue","#variantName"],"sources":["../../../../2-mongo-family/5-query-builders/orm/dist/index.mjs"],"sourcesContent":["import { domainModelsAtDefaultNamespace, domainValueObjectsAtDefaultNamespace } from \"@internal/contract/types\";\nimport { AsyncIterableResult } from \"@internal/framework-components/runtime\";\nimport { AggregateCommand, DeleteManyCommand, FindOneAndDeleteCommand, FindOneAndUpdateCommand, InsertManyCommand, InsertOneCommand, MongoAndExpr, MongoFieldFilter, MongoLimitStage, MongoLookupStage, MongoMatchStage, MongoProjectStage, MongoSkipStage, MongoSortStage, MongoUnwindStage, RawAggregateCommand, RawDeleteManyCommand, RawDeleteOneCommand, RawFindOneAndDeleteCommand, RawFindOneAndUpdateCommand, RawInsertManyCommand, RawInsertOneCommand, RawUpdateManyCommand, RawUpdateOneCommand, UpdateManyCommand, freezeMongoResultShape, isMongoFilterExpr } from \"@internal/mongo-query-ast/execution\";\nimport { contractFieldToMongoFieldShape, contractModelToMongoResultShape } from \"@internal/mongo-query-builder\";\nimport { MongoParamRef } from \"@internal/mongo-value\";\nimport { blindCast, castAs } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\n//#region src/collection-state.ts\nfunction emptyCollectionState() {\n\treturn {\n\t\tfilters: [],\n\t\tincludes: [],\n\t\torderBy: void 0,\n\t\tselectedFields: void 0,\n\t\tlimit: void 0,\n\t\toffset: void 0\n\t};\n}\n//#endregion\n//#region src/compile.ts\nfunction compileIncludes(includes) {\n\tconst stages = [];\n\tfor (const inc of includes) {\n\t\tstages.push(new MongoLookupStage({\n\t\t\tfrom: inc.from,\n\t\t\tlocalField: inc.localField,\n\t\t\tforeignField: inc.foreignField,\n\t\t\tas: inc.relationName\n\t\t}));\n\t\tif (inc.cardinality === \"N:1\" || inc.cardinality === \"1:1\") stages.push(new MongoUnwindStage(`$${inc.relationName}`, true));\n\t}\n\treturn stages;\n}\nfunction compileMongoQuery(collection, state, storageHash, model) {\n\tconst stages = [];\n\tconst singleFilter = state.filters.length === 1 ? state.filters[0] : void 0;\n\tif (singleFilter) stages.push(new MongoMatchStage(singleFilter));\n\telse if (state.filters.length > 1) stages.push(new MongoMatchStage(MongoAndExpr.of([...state.filters])));\n\tif (state.includes.length > 0) stages.push(...compileIncludes(state.includes));\n\tif (state.orderBy) stages.push(new MongoSortStage(state.orderBy));\n\tif (state.offset !== void 0) stages.push(new MongoSkipStage(state.offset));\n\tif (state.limit !== void 0) stages.push(new MongoLimitStage(state.limit));\n\tif (state.selectedFields && state.selectedFields.length > 0) {\n\t\tconst projection = {};\n\t\tfor (const field of state.selectedFields) projection[field] = 1;\n\t\tif (!Object.hasOwn(projection, \"_id\")) projection[\"_id\"] = 0;\n\t\tstages.push(new MongoProjectStage(projection));\n\t}\n\tconst meta = {\n\t\ttarget: \"mongo\",\n\t\tstorageHash,\n\t\tlane: \"mongo-orm\"\n\t};\n\tconst command = new AggregateCommand(collection, stages);\n\tconst selection = state.selectedFields !== void 0 && state.selectedFields.length > 0 ? state.selectedFields : void 0;\n\tconst includeRelationNames = state.includes.length > 0 ? state.includes.map((inc) => inc.relationName) : void 0;\n\treturn {\n\t\tcollection,\n\t\tcommand,\n\t\tmeta,\n\t\tresultShape: contractModelToMongoResultShape(model, {\n\t\t\t...ifDefined(\"selection\", selection),\n\t\t\t...ifDefined(\"includeRelationNames\", includeRelationNames)\n\t\t})\n\t};\n}\n//#endregion\n//#region src/field-accessor.ts\nfunction createFieldExpression(fieldPath) {\n\treturn {\n\t\tset(value) {\n\t\t\treturn {\n\t\t\t\toperator: \"$set\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(value)\n\t\t\t};\n\t\t},\n\t\tunset() {\n\t\t\treturn {\n\t\t\t\toperator: \"$unset\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(\"\")\n\t\t\t};\n\t\t},\n\t\tinc(value) {\n\t\t\treturn {\n\t\t\t\toperator: \"$inc\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(value)\n\t\t\t};\n\t\t},\n\t\tmul(value) {\n\t\t\treturn {\n\t\t\t\toperator: \"$mul\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(value)\n\t\t\t};\n\t\t},\n\t\tpush(value) {\n\t\t\treturn {\n\t\t\t\toperator: \"$push\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(value)\n\t\t\t};\n\t\t},\n\t\tpull(match) {\n\t\t\treturn {\n\t\t\t\toperator: \"$pull\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(match)\n\t\t\t};\n\t\t},\n\t\taddToSet(value) {\n\t\t\treturn {\n\t\t\t\toperator: \"$addToSet\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(value)\n\t\t\t};\n\t\t},\n\t\tpop(end) {\n\t\t\treturn {\n\t\t\t\toperator: \"$pop\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(end)\n\t\t\t};\n\t\t}\n\t};\n}\nfunction createFieldAccessor() {\n\treturn new Proxy((() => {}), {\n\t\tget(_target, prop) {\n\t\t\treturn createFieldExpression(prop);\n\t\t},\n\t\tapply(_target, _thisArg, args) {\n\t\t\treturn createFieldExpression(args[0]);\n\t\t}\n\t});\n}\nfunction compileFieldOperations(ops, wrapValue) {\n\tconst grouped = {};\n\tfor (const op of ops) {\n\t\tlet group = grouped[op.operator];\n\t\tif (!group) {\n\t\t\tgroup = {};\n\t\t\tgrouped[op.operator] = group;\n\t\t}\n\t\tgroup[op.field] = wrapValue(op.field, op.value, op.operator);\n\t}\n\treturn grouped;\n}\n//#endregion\n//#region src/orm-errors.ts\nfunction ormError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/collection.ts\nfunction resolveCollectionName(model, modelName) {\n\treturn model.storage.collection ?? modelName;\n}\nfunction isUnknownRecord(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\nvar MongoCollectionImpl = class MongoCollectionImpl {\n\t#contract;\n\t#modelName;\n\t#executor;\n\t#collectionName;\n\t#state;\n\t#variantName;\n\tconstructor(contract, modelName, executor) {\n\t\tthis.#contract = contract;\n\t\tthis.#modelName = modelName;\n\t\tthis.#executor = executor;\n\t\tconst model = blindCast(domainModelsAtDefaultNamespace(contract.domain)[modelName]);\n\t\tthis.#collectionName = resolveCollectionName(model, modelName);\n\t\tthis.#state = emptyCollectionState();\n\t}\n\tvariant(variantName) {\n\t\tconst model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);\n\t\tif (!model?.discriminator || !model.variants) return blindCast(this);\n\t\tconst variantEntry = model.variants[variantName];\n\t\tif (!variantEntry) return blindCast(this);\n\t\tconst filter = MongoFieldFilter.eq(model.discriminator.field, new MongoParamRef(variantEntry.value));\n\t\treturn this.#cloneWithVariant({ filters: [...this.#state.filters, filter] }, variantName);\n\t}\n\twhere(filter) {\n\t\tif (isMongoFilterExpr(filter)) return this.#clone({ filters: [...this.#state.filters, filter] });\n\t\tconst compiled = this.#compileWhereObject(blindCast(filter));\n\t\treturn this.#clone({ filters: [...this.#state.filters, ...compiled] });\n\t}\n\tselect(...fields) {\n\t\treturn this.#clone({ selectedFields: [...this.#state.selectedFields ?? [], ...fields] });\n\t}\n\tinclude(relationName) {\n\t\tconst relation = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]).relations?.[relationName];\n\t\tif (!relation) throw ormError(\"ORM.RELATION_UNKNOWN\", `Unknown relation \"${relationName}\" on model \"${this.#modelName}\"`, { meta: {\n\t\t\tmodel: this.#modelName,\n\t\t\trelation: relationName\n\t\t} });\n\t\tif (!(\"on\" in relation)) throw ormError(\"ORM.INCLUDE_UNSUPPORTED\", `Relation \"${relationName}\" is an embed relation — only reference relations can be included`, { meta: {\n\t\t\tmodel: this.#modelName,\n\t\t\trelation: relationName\n\t\t} });\n\t\tconst ref = relation;\n\t\tconst localField = ref.on.localFields[0];\n\t\tconst foreignField = ref.on.targetFields[0];\n\t\tif (!localField || !foreignField || ref.on.localFields.length !== 1 || ref.on.targetFields.length !== 1) throw ormError(\"ORM.INCLUDE_UNSUPPORTED\", `Compound references are not yet supported: relation \"${relationName}\"`, { meta: {\n\t\t\tmodel: this.#modelName,\n\t\t\trelation: relationName\n\t\t} });\n\t\tconst targetModelName = ref.to.model;\n\t\tconst targetModel = castAs(domainModelsAtDefaultNamespace(this.#contract.domain)[targetModelName]);\n\t\tif (!targetModel) throw new InternalError(`Target model \"${targetModelName}\" not found for relation \"${relationName}\"`);\n\t\tconst includeExpr = {\n\t\t\trelationName,\n\t\t\tfrom: resolveCollectionName(targetModel, targetModelName),\n\t\t\tlocalField,\n\t\t\tforeignField,\n\t\t\tcardinality: ref.cardinality\n\t\t};\n\t\treturn blindCast(this.#clone({ includes: [...this.#state.includes, includeExpr] }));\n\t}\n\torderBy(spec) {\n\t\tconst merged = {\n\t\t\t...this.#state.orderBy,\n\t\t\t...spec\n\t\t};\n\t\treturn this.#clone({ orderBy: merged });\n\t}\n\ttake(n) {\n\t\treturn this.#clone({ limit: n });\n\t}\n\tskip(n) {\n\t\treturn this.#clone({ offset: n });\n\t}\n\tall() {\n\t\treturn this.#execute();\n\t}\n\tasync first() {\n\t\tconst result = this.#clone({ limit: 1 }).#execute();\n\t\tfor await (const row of result) return row;\n\t\treturn null;\n\t}\n\tasync create(data) {\n\t\tthis.#rejectIncludes(\"create\");\n\t\tconst normalized = this.#injectDiscriminator(this.#stripUndefined(blindCast(data)));\n\t\tconst document = this.#toDocument(normalized);\n\t\tconst command = new InsertOneCommand(this.#collectionName, document);\n\t\tconst insertedId = blindCast((await this.#drainPlan(command, this.#insertOneResultShape()))[0]).insertedId;\n\t\treturn blindCast({\n\t\t\t_id: insertedId,\n\t\t\t...normalized\n\t\t});\n\t}\n\tcreateAll(data) {\n\t\tthis.#rejectIncludes(\"createAll\");\n\t\tconst self = this;\n\t\tasync function* gen() {\n\t\t\tconst normalizedRows = data.map((d) => self.#injectDiscriminator(self.#stripUndefined(blindCast(d))));\n\t\t\tconst documents = normalizedRows.map((d) => self.#toDocument(d));\n\t\t\tconst command = new InsertManyCommand(self.#collectionName, documents);\n\t\t\tconst insertedIds = blindCast((await self.#drainPlan(command, self.#insertManyResultShape()))[0]).insertedIds;\n\t\t\tfor (let i = 0; i < normalizedRows.length; i++) yield blindCast({\n\t\t\t\t_id: insertedIds[i],\n\t\t\t\t...normalizedRows[i]\n\t\t\t});\n\t\t}\n\t\treturn new AsyncIterableResult(gen());\n\t}\n\tasync createAndCount(data) {\n\t\tthis.#rejectIncludes(\"createAndCount\");\n\t\tconst documents = data.map((d) => this.#toDocument(this.#injectDiscriminator(blindCast(d))));\n\t\tconst command = new InsertManyCommand(this.#collectionName, documents);\n\t\treturn blindCast((await this.#drainPlan(command))[0]).insertedCount;\n\t}\n\tasync update(dataOrCallback) {\n\t\tthis.#requireFilters(\"update\");\n\t\tthis.#rejectWindowing(\"update\");\n\t\tthis.#rejectIncludes(\"update\");\n\t\tconst filter = this.#mergeFilters();\n\t\tconst updateDoc = this.#resolveUpdateDoc(dataOrCallback);\n\t\tconst command = new FindOneAndUpdateCommand(this.#collectionName, filter, updateDoc, false);\n\t\tconst result = (await this.#drainPlan(command, this.#modelResultShape()))[0];\n\t\treturn result === void 0 ? null : blindCast(result);\n\t}\n\tupdateAll(dataOrCallback) {\n\t\tthis.#requireFilters(\"updateAll\");\n\t\tthis.#rejectWindowing(\"updateAll\");\n\t\tconst self = this;\n\t\tasync function* gen() {\n\t\t\tconst ids = await self.#readMatchingIds();\n\t\t\tif (ids.length === 0) return;\n\t\t\tconst filter = self.#mergeFilters();\n\t\t\tconst updateDoc = self.#resolveUpdateDoc(dataOrCallback);\n\t\t\tconst command = new UpdateManyCommand(self.#collectionName, filter, updateDoc);\n\t\t\tawait self.#drainPlan(command);\n\t\t\tconst idFilter = MongoFieldFilter.in(\"_id\", ids.map((id) => new MongoParamRef(id)));\n\t\t\tyield* self.#clone({ filters: [idFilter] }).#execute();\n\t\t}\n\t\treturn new AsyncIterableResult(gen());\n\t}\n\tasync updateAndCount(dataOrCallback) {\n\t\tthis.#requireFilters(\"updateAndCount\");\n\t\tthis.#rejectWindowing(\"updateAndCount\");\n\t\tthis.#rejectIncludes(\"updateAndCount\");\n\t\tconst filter = this.#mergeFilters();\n\t\tconst updateDoc = this.#resolveUpdateDoc(dataOrCallback);\n\t\tconst command = new UpdateManyCommand(this.#collectionName, filter, updateDoc);\n\t\treturn blindCast((await this.#drainPlan(command))[0]).modifiedCount;\n\t}\n\tasync delete() {\n\t\tthis.#requireFilters(\"delete\");\n\t\tthis.#rejectWindowing(\"delete\");\n\t\tthis.#rejectIncludes(\"delete\");\n\t\tconst filter = this.#mergeFilters();\n\t\tconst command = new FindOneAndDeleteCommand(this.#collectionName, filter);\n\t\tconst result = (await this.#drainPlan(command, this.#modelResultShape()))[0];\n\t\treturn result === void 0 ? null : blindCast(result);\n\t}\n\tdeleteAll() {\n\t\tthis.#requireFilters(\"deleteAll\");\n\t\tthis.#rejectWindowing(\"deleteAll\");\n\t\tconst self = this;\n\t\tasync function* gen() {\n\t\t\tconst docs = [];\n\t\t\tfor await (const row of self.#execute()) docs.push(row);\n\t\t\tconst filter = self.#mergeFilters();\n\t\t\tconst command = new DeleteManyCommand(self.#collectionName, filter);\n\t\t\tawait self.#drainPlan(command);\n\t\t\tyield* docs;\n\t\t}\n\t\treturn new AsyncIterableResult(gen());\n\t}\n\tasync deleteAndCount() {\n\t\tthis.#requireFilters(\"deleteAndCount\");\n\t\tthis.#rejectWindowing(\"deleteAndCount\");\n\t\tthis.#rejectIncludes(\"deleteAndCount\");\n\t\tconst filter = this.#mergeFilters();\n\t\tconst command = new DeleteManyCommand(this.#collectionName, filter);\n\t\treturn blindCast((await this.#drainPlan(command))[0]).deletedCount;\n\t}\n\tasync upsert(input) {\n\t\tthis.#requireFilters(\"upsert\");\n\t\tthis.#rejectWindowing(\"upsert\");\n\t\tthis.#rejectIncludes(\"upsert\");\n\t\tconst filter = this.#mergeFilters();\n\t\tconst allCreateFields = this.#toDocument(this.#injectDiscriminator(blindCast(input.create)));\n\t\tlet updateDoc;\n\t\tif (typeof input.update === \"function\") {\n\t\t\tconst accessor = createFieldAccessor();\n\t\t\tconst ops = input.update(accessor);\n\t\t\tif (ops.find((op) => op.field === \"_id\")) throw ormError(\"ORM.FIELD_IMMUTABLE\", \"Mutation payloads cannot modify `_id`\", { meta: { field: \"_id\" } });\n\t\t\tconst dotPathOp = ops.find((op) => op.field.includes(\".\"));\n\t\t\tif (dotPathOp) throw ormError(\"ORM.OPERATION_UNSUPPORTED\", `upsert() does not support dot-path field operations (found \"${dotPathOp.field}\"). Dot-path updates conflict with \\$setOnInsert on the insert path, producing incomplete documents. Use top-level field operations instead.`, { meta: {\n\t\t\t\tmethod: \"upsert\",\n\t\t\t\tfield: dotPathOp.field\n\t\t\t} });\n\t\t\tupdateDoc = compileFieldOperations(ops, (field, value, operator) => this.#wrapFieldOpValue(field, value, operator));\n\t\t} else {\n\t\t\tconst setFields = this.#toSetFields(blindCast(input.update));\n\t\t\tupdateDoc = {};\n\t\t\tif (Object.keys(setFields).length > 0) updateDoc[\"$set\"] = setFields;\n\t\t}\n\t\tconst updatedFields = /* @__PURE__ */ new Set();\n\t\tfor (const operatorGroup of Object.values(updateDoc)) for (const fieldPath of Object.keys(operatorGroup)) updatedFields.add(fieldPath.split(\".\")[0] ?? fieldPath);\n\t\tconst insertOnlyFields = {};\n\t\tfor (const [key, value] of Object.entries(allCreateFields)) if (!updatedFields.has(key)) insertOnlyFields[key] = value;\n\t\tif (Object.keys(insertOnlyFields).length > 0) updateDoc[\"$setOnInsert\"] = insertOnlyFields;\n\t\tconst command = new FindOneAndUpdateCommand(this.#collectionName, filter, updateDoc, true);\n\t\treturn blindCast((await this.#drainPlan(command, this.#modelResultShape()))[0]);\n\t}\n\tasync #readMatchingIds() {\n\t\tconst idQuery = this.#clone({\n\t\t\tincludes: [],\n\t\t\tselectedFields: [\"_id\"],\n\t\t\torderBy: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0\n\t\t});\n\t\tconst ids = [];\n\t\tconst { resultShape: _rs, ...planWithoutShape } = idQuery.#compile();\n\t\tfor await (const row of this.#executor.execute(planWithoutShape)) {\n\t\t\tconst storageRow = blindCast(row);\n\t\t\tids.push(storageRow[\"_id\"]);\n\t\t}\n\t\treturn ids;\n\t}\n\t#execute() {\n\t\tconst plan = this.#compile();\n\t\treturn this.#executor.execute(plan);\n\t}\n\t#compile() {\n\t\tconst model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);\n\t\tif (!model) throw ormError(\"ORM.MODEL_UNKNOWN\", `Unknown model: \"${this.#modelName}\".`, { meta: { model: this.#modelName } });\n\t\treturn compileMongoQuery(this.#collectionName, this.#state, this.#contract.storage.storageHash, model);\n\t}\n\t#wrapCommand(command, resultShape) {\n\t\treturn {\n\t\t\tcollection: this.#collectionName,\n\t\t\tcommand,\n\t\t\tmeta: this.#planMeta(),\n\t\t\t...ifDefined(\"resultShape\", resultShape)\n\t\t};\n\t}\n\tasync #drainPlan(command, resultShape) {\n\t\tconst plan = this.#wrapCommand(command, resultShape);\n\t\tconst result = this.#executor.execute(plan);\n\t\tconst rows = [];\n\t\tfor await (const row of result) rows.push(row);\n\t\treturn rows;\n\t}\n\t#modelFields() {\n\t\treturn blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName])?.fields ?? {};\n\t}\n\t#idFieldShape() {\n\t\tconst idField = this.#modelFields()[\"_id\"];\n\t\treturn idField ? contractFieldToMongoFieldShape(idField) : Object.freeze({ kind: \"unknown\" });\n\t}\n\t#insertOneResultShape() {\n\t\treturn freezeMongoResultShape({\n\t\t\tkind: \"document\",\n\t\t\tfields: { insertedId: this.#idFieldShape() }\n\t\t});\n\t}\n\t#insertManyResultShape() {\n\t\treturn freezeMongoResultShape({\n\t\t\tkind: \"document\",\n\t\t\tfields: { insertedIds: {\n\t\t\t\tkind: \"array\",\n\t\t\t\tnullable: false,\n\t\t\t\telement: this.#idFieldShape()\n\t\t\t} }\n\t\t});\n\t}\n\t#modelResultShape() {\n\t\tconst model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);\n\t\tif (!model) return Object.freeze({ kind: \"unknown\" });\n\t\treturn contractModelToMongoResultShape(model);\n\t}\n\t#compileWhereObject(data) {\n\t\tconst fields = this.#modelFields();\n\t\tconst filters = [];\n\t\tfor (const [key, value] of Object.entries(data)) {\n\t\t\tif (value === void 0) continue;\n\t\t\tconst wrapped = this.#wrapFieldValue(value, fields[key]);\n\t\t\tfilters.push(MongoFieldFilter.eq(key, wrapped));\n\t\t}\n\t\treturn filters;\n\t}\n\t#wrapFieldValue(value, field) {\n\t\tif (field === void 0) return new MongoParamRef(value);\n\t\tif (field.type.kind === \"scalar\") return new MongoParamRef(value, { codecId: field.type.codecId });\n\t\tif (field.type.kind === \"valueObject\") {\n\t\t\tconst voName = field.type.name;\n\t\t\tconst voDef = domainValueObjectsAtDefaultNamespace(this.#contract.domain)?.[voName];\n\t\t\tif (!voDef || value === null) return new MongoParamRef(value);\n\t\t\tif (field.many && Array.isArray(value)) return value.map((item) => this.#wrapValueObject(blindCast(item), voDef));\n\t\t\treturn this.#wrapValueObject(blindCast(value), voDef);\n\t\t}\n\t\treturn new MongoParamRef(value);\n\t}\n\t#wrapValueObject(data, voDef) {\n\t\tconst doc = {};\n\t\tfor (const [key, value] of Object.entries(data)) {\n\t\t\tif (value === void 0) continue;\n\t\t\tconst fieldDef = voDef.fields[key];\n\t\t\tdoc[key] = this.#wrapFieldValue(value, fieldDef);\n\t\t}\n\t\treturn doc;\n\t}\n\t#toDocument(data) {\n\t\tconst fields = this.#modelFields();\n\t\tconst doc = {};\n\t\tfor (const [key, value] of Object.entries(data)) if (value !== void 0) doc[key] = this.#wrapFieldValue(value, fields[key]);\n\t\treturn doc;\n\t}\n\t#toSetFields(data) {\n\t\tconst fields = this.#modelFields();\n\t\tconst result = {};\n\t\tfor (const [key, value] of Object.entries(data)) {\n\t\t\tif (key === \"_id\" && value !== void 0) throw ormError(\"ORM.FIELD_IMMUTABLE\", \"Mutation payloads cannot modify `_id`\", { meta: { field: \"_id\" } });\n\t\t\tif (value !== void 0) result[key] = this.#wrapFieldValue(value, fields[key]);\n\t\t}\n\t\treturn result;\n\t}\n\t#stripUndefined(data) {\n\t\tconst result = {};\n\t\tfor (const [key, value] of Object.entries(data)) if (value !== void 0) result[key] = value;\n\t\treturn result;\n\t}\n\t#toUpdateDocument(data) {\n\t\treturn { $set: this.#toSetFields(data) };\n\t}\n\t#resolveUpdateDoc(dataOrCallback) {\n\t\tif (typeof dataOrCallback === \"function\") {\n\t\t\tconst ops = dataOrCallback(createFieldAccessor());\n\t\t\tif (ops.find((op) => op.field === \"_id\")) throw ormError(\"ORM.FIELD_IMMUTABLE\", \"Mutation payloads cannot modify `_id`\", { meta: { field: \"_id\" } });\n\t\t\tif (ops.length === 0) return { $set: {} };\n\t\t\treturn compileFieldOperations(ops, (field, value, operator) => this.#wrapFieldOpValue(field, value, operator));\n\t\t}\n\t\treturn this.#toUpdateDocument(blindCast(dataOrCallback));\n\t}\n\t#wrapFieldOpValue(field, value, operator) {\n\t\tif (operator === \"$unset\") return value;\n\t\tconst topLevelField = field.split(\".\")[0] ?? field;\n\t\tconst contractField = this.#modelFields()[topLevelField];\n\t\tif (!contractField) return value;\n\t\tif (field.includes(\".\")) return this.#wrapDotPathValue(field, value);\n\t\tif (value instanceof MongoParamRef && contractField.type.kind === \"scalar\") return new MongoParamRef(value.value, { codecId: contractField.type.codecId });\n\t\tif (contractField.type.kind === \"valueObject\" && value instanceof MongoParamRef) {\n\t\t\tconst raw = value.value;\n\t\t\tif (isUnknownRecord(raw)) {\n\t\t\t\tconst voName = contractField.type.name;\n\t\t\t\tconst voDef = domainValueObjectsAtDefaultNamespace(this.#contract.domain)?.[voName];\n\t\t\t\tif (voDef) return this.#wrapValueObject(raw, voDef);\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}\n\t#wrapDotPathValue(dotPath, value) {\n\t\tconst parts = dotPath.split(\".\");\n\t\tconst fields = this.#modelFields();\n\t\tlet currentField = parts[0] ? fields[parts[0]] : void 0;\n\t\tfor (let i = 1; i < parts.length; i++) {\n\t\t\tif (currentField?.type.kind !== \"valueObject\") return value;\n\t\t\tconst voName = currentField.type.name;\n\t\t\tconst voDef = domainValueObjectsAtDefaultNamespace(this.#contract.domain)?.[voName];\n\t\t\tif (!voDef) return value;\n\t\t\tconst partKey = parts[i];\n\t\t\tcurrentField = partKey ? voDef.fields[partKey] : void 0;\n\t\t}\n\t\tif (currentField?.type.kind === \"scalar\" && value instanceof MongoParamRef) return new MongoParamRef(value.value, { codecId: currentField.type.codecId });\n\t\tif (currentField?.type.kind === \"valueObject\" && value instanceof MongoParamRef) {\n\t\t\tconst raw = value.value;\n\t\t\tif (isUnknownRecord(raw)) {\n\t\t\t\tconst voName = currentField.type.name;\n\t\t\t\tconst voDef = domainValueObjectsAtDefaultNamespace(this.#contract.domain)?.[voName];\n\t\t\t\tif (voDef) return this.#wrapValueObject(raw, voDef);\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}\n\t#mergeFilters() {\n\t\tconst [single] = this.#state.filters;\n\t\tif (this.#state.filters.length === 1 && single) return single;\n\t\treturn MongoAndExpr.of([...this.#state.filters]);\n\t}\n\t#requireFilters(methodName) {\n\t\tif (this.#state.filters.length === 0) throw ormError(\"ORM.WHERE_MISSING\", `${methodName}() requires a .where() filter. Call .where() before .${methodName}()`, { meta: { method: methodName } });\n\t}\n\t#rejectWindowing(methodName) {\n\t\tif (this.#state.orderBy !== void 0 || this.#state.limit !== void 0 || this.#state.offset !== void 0) throw ormError(\"ORM.OPERATION_UNSUPPORTED\", `${methodName}() does not support orderBy/skip/take. Remove windowing before calling .${methodName}()`, { meta: {\n\t\t\tmethod: methodName,\n\t\t\treason: \"windowing\"\n\t\t} });\n\t}\n\t#rejectIncludes(methodName) {\n\t\tif (this.#state.includes.length > 0) throw ormError(\"ORM.OPERATION_UNSUPPORTED\", `${methodName}() does not support .include(). Remove includes before calling .${methodName}()`, { meta: {\n\t\t\tmethod: methodName,\n\t\t\treason: \"includes\"\n\t\t} });\n\t}\n\t#planMeta() {\n\t\treturn {\n\t\t\ttarget: \"mongo\",\n\t\t\tstorageHash: this.#contract.storage.storageHash,\n\t\t\tlane: \"mongo-orm\"\n\t\t};\n\t}\n\t#injectDiscriminator(data) {\n\t\tif (!this.#variantName) return data;\n\t\tconst model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);\n\t\tif (!model?.discriminator || !model.variants) return data;\n\t\tconst variantEntry = model.variants[this.#variantName];\n\t\tif (!variantEntry) return data;\n\t\treturn {\n\t\t\t...data,\n\t\t\t[model.discriminator.field]: variantEntry.value\n\t\t};\n\t}\n\t#clone(overrides) {\n\t\tconst instance = new MongoCollectionImpl(this.#contract, this.#modelName, this.#executor);\n\t\tinstance.#state = {\n\t\t\t...this.#state,\n\t\t\t...overrides\n\t\t};\n\t\tinstance.#collectionName = this.#collectionName;\n\t\tinstance.#variantName = this.#variantName;\n\t\treturn instance;\n\t}\n\t#cloneWithVariant(overrides, variantName) {\n\t\tconst instance = new MongoCollectionImpl(this.#contract, this.#modelName, this.#executor);\n\t\tinstance.#state = {\n\t\t\t...this.#state,\n\t\t\t...overrides\n\t\t};\n\t\tinstance.#collectionName = this.#collectionName;\n\t\tinstance.#variantName = variantName;\n\t\treturn instance;\n\t}\n};\nfunction createMongoCollection(contract, modelName, executor) {\n\treturn new MongoCollectionImpl(contract, modelName, executor);\n}\n//#endregion\n//#region src/mongo-orm.ts\nfunction mongoOrm(options) {\n\tconst { contract, executor } = options;\n\tconst client = {};\n\tfor (const [rootName, rootRef] of Object.entries(contract.roots)) client[rootName] = createMongoCollection(contract, blindCast(rootRef.model), executor);\n\treturn client;\n}\n//#endregion\n//#region src/raw-collection.ts\nfunction createRawMongoCollection(collectionName, meta) {\n\tfunction buildable(command) {\n\t\treturn { build: () => ({\n\t\t\tcollection: collectionName,\n\t\t\tcommand,\n\t\t\tmeta\n\t\t}) };\n\t}\n\treturn {\n\t\taggregate(pipeline) {\n\t\t\treturn buildable(new RawAggregateCommand(collectionName, pipeline));\n\t\t},\n\t\tinsertOne(document) {\n\t\t\treturn buildable(new RawInsertOneCommand(collectionName, document));\n\t\t},\n\t\tinsertMany(documents) {\n\t\t\treturn buildable(new RawInsertManyCommand(collectionName, documents));\n\t\t},\n\t\tupdateOne(filter, update) {\n\t\t\treturn buildable(new RawUpdateOneCommand(collectionName, filter, update));\n\t\t},\n\t\tupdateMany(filter, update) {\n\t\t\treturn buildable(new RawUpdateManyCommand(collectionName, filter, update));\n\t\t},\n\t\tdeleteOne(filter) {\n\t\t\treturn buildable(new RawDeleteOneCommand(collectionName, filter));\n\t\t},\n\t\tdeleteMany(filter) {\n\t\t\treturn buildable(new RawDeleteManyCommand(collectionName, filter));\n\t\t},\n\t\tfindOneAndUpdate(filter, update, options) {\n\t\t\treturn buildable(new RawFindOneAndUpdateCommand(collectionName, filter, update, options?.upsert ?? false));\n\t\t},\n\t\tfindOneAndDelete(filter) {\n\t\t\treturn buildable(new RawFindOneAndDeleteCommand(collectionName, filter));\n\t\t}\n\t};\n}\n//#endregion\n//#region src/mongo-raw.ts\nfunction mongoRaw(options) {\n\tconst { contract } = options;\n\treturn { collection(rootName) {\n\t\tconst modelName = contract.roots[rootName]?.model;\n\t\tconst models = domainModelsAtDefaultNamespace(contract.domain);\n\t\tif (!modelName || !Object.hasOwn(models, modelName)) throw ormError(\"ORM.MODEL_UNKNOWN\", `Unknown model \"${modelName ?? \"\"}\" for root \"${rootName}\"`, { meta: {\n\t\t\tmodel: modelName ?? \"\",\n\t\t\troot: rootName\n\t\t} });\n\t\treturn createRawMongoCollection(models[modelName].storage.collection ?? modelName, {\n\t\t\ttarget: \"mongo\",\n\t\t\tstorageHash: contract.storage.storageHash,\n\t\t\tlane: \"mongo-raw\"\n\t\t});\n\t} };\n}\n//#endregion\nexport { compileMongoQuery, createFieldAccessor, createMongoCollection, mongoOrm, mongoRaw };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"orm.mjs","names":["#contract","#modelName","#executor","#collectionName","#state","#cloneWithVariant","#clone","#compileWhereObject","#query","#rejectIncludes","#injectDiscriminator","#stripUndefined","#toDocument","#drainPlan","#insertOneResultShape","#insertManyResultShape","#requireFilters","#rejectWindowing","#mergeFilters","#resolveUpdateDoc","#modelResultShape","#readMatchingIds","#executePlan","#wrapFieldOpValue","#toSetFields","#compile","#planMeta","#wrapCommand","#modelFields","#idFieldShape","#wrapFieldValue","#wrapValueObject","#toUpdateDocument","#wrapDotPathValue","#variantName"],"sources":["../../../../2-mongo-family/5-query-builders/orm/dist/index.mjs"],"sourcesContent":["import { domainModelsAtDefaultNamespace, domainValueObjectsAtDefaultNamespace } from \"@internal/contract/types\";\nimport { AsyncIterableResult } from \"@internal/framework-components/runtime\";\nimport { AggregateCommand, DeleteManyCommand, FindOneAndDeleteCommand, FindOneAndUpdateCommand, InsertManyCommand, InsertOneCommand, MongoAndExpr, MongoFieldFilter, MongoLimitStage, MongoLookupStage, MongoMatchStage, MongoProjectStage, MongoSkipStage, MongoSortStage, MongoUnwindStage, RawAggregateCommand, RawDeleteManyCommand, RawDeleteOneCommand, RawFindOneAndDeleteCommand, RawFindOneAndUpdateCommand, RawInsertManyCommand, RawInsertOneCommand, RawUpdateManyCommand, RawUpdateOneCommand, UpdateManyCommand, freezeMongoResultShape, isMongoFilterExpr } from \"@internal/mongo-query-ast/execution\";\nimport { contractFieldToMongoFieldShape, contractModelToMongoResultShape } from \"@internal/mongo-query-builder\";\nimport { MongoParamRef } from \"@internal/mongo-value\";\nimport { blindCast, castAs } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\n//#region src/collection-state.ts\nfunction emptyCollectionState() {\n\treturn {\n\t\tfilters: [],\n\t\tincludes: [],\n\t\torderBy: void 0,\n\t\tselectedFields: void 0,\n\t\tlimit: void 0,\n\t\toffset: void 0\n\t};\n}\n//#endregion\n//#region src/compile.ts\nfunction compileIncludes(includes) {\n\tconst stages = [];\n\tfor (const inc of includes) {\n\t\tstages.push(new MongoLookupStage({\n\t\t\tfrom: inc.from,\n\t\t\tlocalField: inc.localField,\n\t\t\tforeignField: inc.foreignField,\n\t\t\tas: inc.relationName\n\t\t}));\n\t\tif (inc.cardinality === \"N:1\" || inc.cardinality === \"1:1\") stages.push(new MongoUnwindStage(`$${inc.relationName}`, true));\n\t}\n\treturn stages;\n}\nfunction compileMongoQuery(collection, state, storageHash, model) {\n\tconst stages = [];\n\tconst singleFilter = state.filters.length === 1 ? state.filters[0] : void 0;\n\tif (singleFilter) stages.push(new MongoMatchStage(singleFilter));\n\telse if (state.filters.length > 1) stages.push(new MongoMatchStage(MongoAndExpr.of([...state.filters])));\n\tif (state.includes.length > 0) stages.push(...compileIncludes(state.includes));\n\tif (state.orderBy) stages.push(new MongoSortStage(state.orderBy));\n\tif (state.offset !== void 0) stages.push(new MongoSkipStage(state.offset));\n\tif (state.limit !== void 0) stages.push(new MongoLimitStage(state.limit));\n\tif (state.selectedFields && state.selectedFields.length > 0) {\n\t\tconst projection = {};\n\t\tfor (const field of state.selectedFields) projection[field] = 1;\n\t\tif (!Object.hasOwn(projection, \"_id\")) projection[\"_id\"] = 0;\n\t\tstages.push(new MongoProjectStage(projection));\n\t}\n\tconst meta = {\n\t\ttarget: \"mongo\",\n\t\tstorageHash,\n\t\tlane: \"mongo-orm\"\n\t};\n\tconst command = new AggregateCommand(collection, stages);\n\tconst selection = state.selectedFields !== void 0 && state.selectedFields.length > 0 ? state.selectedFields : void 0;\n\tconst includeRelationNames = state.includes.length > 0 ? state.includes.map((inc) => inc.relationName) : void 0;\n\treturn {\n\t\tcollection,\n\t\tcommand,\n\t\tmeta,\n\t\tresultShape: contractModelToMongoResultShape(model, {\n\t\t\t...ifDefined(\"selection\", selection),\n\t\t\t...ifDefined(\"includeRelationNames\", includeRelationNames)\n\t\t})\n\t};\n}\n//#endregion\n//#region src/field-accessor.ts\nfunction createFieldExpression(fieldPath) {\n\treturn {\n\t\tset(value) {\n\t\t\treturn {\n\t\t\t\toperator: \"$set\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(value)\n\t\t\t};\n\t\t},\n\t\tunset() {\n\t\t\treturn {\n\t\t\t\toperator: \"$unset\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(\"\")\n\t\t\t};\n\t\t},\n\t\tinc(value) {\n\t\t\treturn {\n\t\t\t\toperator: \"$inc\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(value)\n\t\t\t};\n\t\t},\n\t\tmul(value) {\n\t\t\treturn {\n\t\t\t\toperator: \"$mul\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(value)\n\t\t\t};\n\t\t},\n\t\tpush(value) {\n\t\t\treturn {\n\t\t\t\toperator: \"$push\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(value)\n\t\t\t};\n\t\t},\n\t\tpull(match) {\n\t\t\treturn {\n\t\t\t\toperator: \"$pull\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(match)\n\t\t\t};\n\t\t},\n\t\taddToSet(value) {\n\t\t\treturn {\n\t\t\t\toperator: \"$addToSet\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(value)\n\t\t\t};\n\t\t},\n\t\tpop(end) {\n\t\t\treturn {\n\t\t\t\toperator: \"$pop\",\n\t\t\t\tfield: fieldPath,\n\t\t\t\tvalue: new MongoParamRef(end)\n\t\t\t};\n\t\t}\n\t};\n}\nfunction createFieldAccessor() {\n\treturn new Proxy((() => {}), {\n\t\tget(_target, prop) {\n\t\t\treturn createFieldExpression(prop);\n\t\t},\n\t\tapply(_target, _thisArg, args) {\n\t\t\treturn createFieldExpression(args[0]);\n\t\t}\n\t});\n}\nfunction compileFieldOperations(ops, wrapValue) {\n\tconst grouped = {};\n\tfor (const op of ops) {\n\t\tlet group = grouped[op.operator];\n\t\tif (!group) {\n\t\t\tgroup = {};\n\t\t\tgrouped[op.operator] = group;\n\t\t}\n\t\tgroup[op.field] = wrapValue(op.field, op.value, op.operator);\n\t}\n\treturn grouped;\n}\n//#endregion\n//#region src/orm-errors.ts\nfunction ormError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/collection.ts\nfunction resolveCollectionName(model, modelName) {\n\treturn model.storage.collection ?? modelName;\n}\nfunction isUnknownRecord(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\nvar MongoCollectionImpl = class MongoCollectionImpl {\n\t#contract;\n\t#modelName;\n\t#executor;\n\t#collectionName;\n\t#state;\n\t#variantName;\n\tconstructor(contract, modelName, executor) {\n\t\tthis.#contract = contract;\n\t\tthis.#modelName = modelName;\n\t\tthis.#executor = executor;\n\t\tconst model = blindCast(domainModelsAtDefaultNamespace(contract.domain)[modelName]);\n\t\tthis.#collectionName = resolveCollectionName(model, modelName);\n\t\tthis.#state = emptyCollectionState();\n\t}\n\tvariant(variantName) {\n\t\tconst model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);\n\t\tif (!model?.discriminator || !model.variants) return blindCast(this);\n\t\tconst variantEntry = model.variants[variantName];\n\t\tif (!variantEntry) return blindCast(this);\n\t\tconst filter = MongoFieldFilter.eq(model.discriminator.field, new MongoParamRef(variantEntry.value));\n\t\treturn this.#cloneWithVariant({ filters: [...this.#state.filters, filter] }, variantName);\n\t}\n\twhere(filter) {\n\t\tif (isMongoFilterExpr(filter)) return this.#clone({ filters: [...this.#state.filters, filter] });\n\t\tconst compiled = this.#compileWhereObject(blindCast(filter));\n\t\treturn this.#clone({ filters: [...this.#state.filters, ...compiled] });\n\t}\n\tselect(...fields) {\n\t\treturn this.#clone({ selectedFields: [...this.#state.selectedFields ?? [], ...fields] });\n\t}\n\tinclude(relationName) {\n\t\tconst relation = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]).relations?.[relationName];\n\t\tif (!relation) throw ormError(\"ORM.RELATION_UNKNOWN\", `Unknown relation \"${relationName}\" on model \"${this.#modelName}\"`, { meta: {\n\t\t\tmodel: this.#modelName,\n\t\t\trelation: relationName\n\t\t} });\n\t\tif (!(\"on\" in relation)) throw ormError(\"ORM.INCLUDE_UNSUPPORTED\", `Relation \"${relationName}\" is an embed relation — only reference relations can be included`, { meta: {\n\t\t\tmodel: this.#modelName,\n\t\t\trelation: relationName\n\t\t} });\n\t\tconst ref = relation;\n\t\tconst localField = ref.on.localFields[0];\n\t\tconst foreignField = ref.on.targetFields[0];\n\t\tif (!localField || !foreignField || ref.on.localFields.length !== 1 || ref.on.targetFields.length !== 1) throw ormError(\"ORM.INCLUDE_UNSUPPORTED\", `Compound references are not yet supported: relation \"${relationName}\"`, { meta: {\n\t\t\tmodel: this.#modelName,\n\t\t\trelation: relationName\n\t\t} });\n\t\tconst targetModelName = ref.to.model;\n\t\tconst targetModel = castAs(domainModelsAtDefaultNamespace(this.#contract.domain)[targetModelName]);\n\t\tif (!targetModel) throw new InternalError(`Target model \"${targetModelName}\" not found for relation \"${relationName}\"`);\n\t\tconst includeExpr = {\n\t\t\trelationName,\n\t\t\tfrom: resolveCollectionName(targetModel, targetModelName),\n\t\t\tlocalField,\n\t\t\tforeignField,\n\t\t\tcardinality: ref.cardinality\n\t\t};\n\t\treturn blindCast(this.#clone({ includes: [...this.#state.includes, includeExpr] }));\n\t}\n\torderBy(spec) {\n\t\tconst merged = {\n\t\t\t...this.#state.orderBy,\n\t\t\t...spec\n\t\t};\n\t\treturn this.#clone({ orderBy: merged });\n\t}\n\ttake(n) {\n\t\treturn this.#clone({ limit: n });\n\t}\n\tskip(n) {\n\t\treturn this.#clone({ offset: n });\n\t}\n\tall() {\n\t\treturn this.#query();\n\t}\n\tasync first() {\n\t\tconst result = this.#clone({ limit: 1 }).#query();\n\t\tfor await (const row of result) return row;\n\t\treturn null;\n\t}\n\tasync create(data) {\n\t\tthis.#rejectIncludes(\"create\");\n\t\tconst normalized = this.#injectDiscriminator(this.#stripUndefined(blindCast(data)));\n\t\tconst document = this.#toDocument(normalized);\n\t\tconst command = new InsertOneCommand(this.#collectionName, document);\n\t\tconst insertedId = blindCast((await this.#drainPlan(command, this.#insertOneResultShape()))[0]).insertedId;\n\t\treturn blindCast({\n\t\t\t_id: insertedId,\n\t\t\t...normalized\n\t\t});\n\t}\n\tcreateAll(data) {\n\t\tthis.#rejectIncludes(\"createAll\");\n\t\tconst self = this;\n\t\tasync function* gen() {\n\t\t\tconst normalizedRows = data.map((d) => self.#injectDiscriminator(self.#stripUndefined(blindCast(d))));\n\t\t\tconst documents = normalizedRows.map((d) => self.#toDocument(d));\n\t\t\tconst command = new InsertManyCommand(self.#collectionName, documents);\n\t\t\tconst insertedIds = blindCast((await self.#drainPlan(command, self.#insertManyResultShape()))[0]).insertedIds;\n\t\t\tfor (let i = 0; i < normalizedRows.length; i++) yield blindCast({\n\t\t\t\t_id: insertedIds[i],\n\t\t\t\t...normalizedRows[i]\n\t\t\t});\n\t\t}\n\t\treturn new AsyncIterableResult(gen());\n\t}\n\tasync createAndCount(data) {\n\t\tthis.#rejectIncludes(\"createAndCount\");\n\t\tconst documents = data.map((d) => this.#toDocument(this.#injectDiscriminator(blindCast(d))));\n\t\tconst command = new InsertManyCommand(this.#collectionName, documents);\n\t\treturn blindCast((await this.#drainPlan(command))[0]).insertedCount;\n\t}\n\tasync update(dataOrCallback) {\n\t\tthis.#requireFilters(\"update\");\n\t\tthis.#rejectWindowing(\"update\");\n\t\tthis.#rejectIncludes(\"update\");\n\t\tconst filter = this.#mergeFilters();\n\t\tconst updateDoc = this.#resolveUpdateDoc(dataOrCallback);\n\t\tconst command = new FindOneAndUpdateCommand(this.#collectionName, filter, updateDoc, false);\n\t\tconst result = (await this.#drainPlan(command, this.#modelResultShape()))[0];\n\t\treturn result === void 0 ? null : blindCast(result);\n\t}\n\tupdateAll(dataOrCallback) {\n\t\tthis.#requireFilters(\"updateAll\");\n\t\tthis.#rejectWindowing(\"updateAll\");\n\t\tconst self = this;\n\t\tasync function* gen() {\n\t\t\tconst ids = await self.#readMatchingIds();\n\t\t\tif (ids.length === 0) return;\n\t\t\tconst filter = self.#mergeFilters();\n\t\t\tconst updateDoc = self.#resolveUpdateDoc(dataOrCallback);\n\t\t\tconst command = new UpdateManyCommand(self.#collectionName, filter, updateDoc);\n\t\t\tawait self.#drainPlan(command);\n\t\t\tconst idFilter = MongoFieldFilter.in(\"_id\", ids.map((id) => new MongoParamRef(id)));\n\t\t\tyield* self.#clone({ filters: [idFilter] }).#query();\n\t\t}\n\t\treturn new AsyncIterableResult(gen());\n\t}\n\tasync updateAndCount(dataOrCallback) {\n\t\tthis.#requireFilters(\"updateAndCount\");\n\t\tthis.#rejectWindowing(\"updateAndCount\");\n\t\tthis.#rejectIncludes(\"updateAndCount\");\n\t\tconst filter = this.#mergeFilters();\n\t\tconst updateDoc = this.#resolveUpdateDoc(dataOrCallback);\n\t\tconst command = new UpdateManyCommand(this.#collectionName, filter, updateDoc);\n\t\treturn (await this.#executePlan(command)).affectedRows;\n\t}\n\tasync delete() {\n\t\tthis.#requireFilters(\"delete\");\n\t\tthis.#rejectWindowing(\"delete\");\n\t\tthis.#rejectIncludes(\"delete\");\n\t\tconst filter = this.#mergeFilters();\n\t\tconst command = new FindOneAndDeleteCommand(this.#collectionName, filter);\n\t\tconst result = (await this.#drainPlan(command, this.#modelResultShape()))[0];\n\t\treturn result === void 0 ? null : blindCast(result);\n\t}\n\tdeleteAll() {\n\t\tthis.#requireFilters(\"deleteAll\");\n\t\tthis.#rejectWindowing(\"deleteAll\");\n\t\tconst self = this;\n\t\tasync function* gen() {\n\t\t\tconst docs = [];\n\t\t\tfor await (const row of self.#query()) docs.push(row);\n\t\t\tconst filter = self.#mergeFilters();\n\t\t\tconst command = new DeleteManyCommand(self.#collectionName, filter);\n\t\t\tawait self.#drainPlan(command);\n\t\t\tyield* docs;\n\t\t}\n\t\treturn new AsyncIterableResult(gen());\n\t}\n\tasync deleteAndCount() {\n\t\tthis.#requireFilters(\"deleteAndCount\");\n\t\tthis.#rejectWindowing(\"deleteAndCount\");\n\t\tthis.#rejectIncludes(\"deleteAndCount\");\n\t\tconst filter = this.#mergeFilters();\n\t\tconst command = new DeleteManyCommand(this.#collectionName, filter);\n\t\treturn (await this.#executePlan(command)).affectedRows;\n\t}\n\tasync upsert(input) {\n\t\tthis.#requireFilters(\"upsert\");\n\t\tthis.#rejectWindowing(\"upsert\");\n\t\tthis.#rejectIncludes(\"upsert\");\n\t\tconst filter = this.#mergeFilters();\n\t\tconst allCreateFields = this.#toDocument(this.#injectDiscriminator(blindCast(input.create)));\n\t\tlet updateDoc;\n\t\tif (typeof input.update === \"function\") {\n\t\t\tconst accessor = createFieldAccessor();\n\t\t\tconst ops = input.update(accessor);\n\t\t\tif (ops.find((op) => op.field === \"_id\")) throw ormError(\"ORM.FIELD_IMMUTABLE\", \"Mutation payloads cannot modify `_id`\", { meta: { field: \"_id\" } });\n\t\t\tconst dotPathOp = ops.find((op) => op.field.includes(\".\"));\n\t\t\tif (dotPathOp) throw ormError(\"ORM.OPERATION_UNSUPPORTED\", `upsert() does not support dot-path field operations (found \"${dotPathOp.field}\"). Dot-path updates conflict with \\$setOnInsert on the insert path, producing incomplete documents. Use top-level field operations instead.`, { meta: {\n\t\t\t\tmethod: \"upsert\",\n\t\t\t\tfield: dotPathOp.field\n\t\t\t} });\n\t\t\tupdateDoc = compileFieldOperations(ops, (field, value, operator) => this.#wrapFieldOpValue(field, value, operator));\n\t\t} else {\n\t\t\tconst setFields = this.#toSetFields(blindCast(input.update));\n\t\t\tupdateDoc = {};\n\t\t\tif (Object.keys(setFields).length > 0) updateDoc[\"$set\"] = setFields;\n\t\t}\n\t\tconst updatedFields = /* @__PURE__ */ new Set();\n\t\tfor (const operatorGroup of Object.values(updateDoc)) for (const fieldPath of Object.keys(operatorGroup)) updatedFields.add(fieldPath.split(\".\")[0] ?? fieldPath);\n\t\tconst insertOnlyFields = {};\n\t\tfor (const [key, value] of Object.entries(allCreateFields)) if (!updatedFields.has(key)) insertOnlyFields[key] = value;\n\t\tif (Object.keys(insertOnlyFields).length > 0) updateDoc[\"$setOnInsert\"] = insertOnlyFields;\n\t\tconst command = new FindOneAndUpdateCommand(this.#collectionName, filter, updateDoc, true);\n\t\treturn blindCast((await this.#drainPlan(command, this.#modelResultShape()))[0]);\n\t}\n\tasync #readMatchingIds() {\n\t\tconst idQuery = this.#clone({\n\t\t\tincludes: [],\n\t\t\tselectedFields: [\"_id\"],\n\t\t\torderBy: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0\n\t\t});\n\t\tconst ids = [];\n\t\tconst { resultShape: _rs, ...planWithoutShape } = idQuery.#compile();\n\t\tfor await (const row of this.#executor.query(planWithoutShape)) {\n\t\t\tconst storageRow = blindCast(row);\n\t\t\tids.push(storageRow[\"_id\"]);\n\t\t}\n\t\treturn ids;\n\t}\n\t#query() {\n\t\tconst plan = this.#compile();\n\t\treturn this.#executor.query(plan);\n\t}\n\t#compile() {\n\t\tconst model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);\n\t\tif (!model) throw ormError(\"ORM.MODEL_UNKNOWN\", `Unknown model: \"${this.#modelName}\".`, { meta: { model: this.#modelName } });\n\t\treturn compileMongoQuery(this.#collectionName, this.#state, this.#contract.storage.storageHash, model);\n\t}\n\t#wrapCommand(command, resultShape) {\n\t\treturn {\n\t\t\tcollection: this.#collectionName,\n\t\t\tcommand,\n\t\t\tmeta: this.#planMeta(),\n\t\t\t...ifDefined(\"resultShape\", resultShape)\n\t\t};\n\t}\n\t#executePlan(command) {\n\t\treturn this.#executor.execute(this.#wrapCommand(command));\n\t}\n\tasync #drainPlan(command, resultShape) {\n\t\tconst plan = this.#wrapCommand(command, resultShape);\n\t\tconst result = this.#executor.query(plan);\n\t\tconst rows = [];\n\t\tfor await (const row of result) rows.push(row);\n\t\treturn rows;\n\t}\n\t#modelFields() {\n\t\treturn blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName])?.fields ?? {};\n\t}\n\t#idFieldShape() {\n\t\tconst idField = this.#modelFields()[\"_id\"];\n\t\treturn idField ? contractFieldToMongoFieldShape(idField) : Object.freeze({ kind: \"unknown\" });\n\t}\n\t#insertOneResultShape() {\n\t\treturn freezeMongoResultShape({\n\t\t\tkind: \"document\",\n\t\t\tfields: { insertedId: this.#idFieldShape() }\n\t\t});\n\t}\n\t#insertManyResultShape() {\n\t\treturn freezeMongoResultShape({\n\t\t\tkind: \"document\",\n\t\t\tfields: { insertedIds: {\n\t\t\t\tkind: \"array\",\n\t\t\t\tnullable: false,\n\t\t\t\telement: this.#idFieldShape()\n\t\t\t} }\n\t\t});\n\t}\n\t#modelResultShape() {\n\t\tconst model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);\n\t\tif (!model) return Object.freeze({ kind: \"unknown\" });\n\t\treturn contractModelToMongoResultShape(model);\n\t}\n\t#compileWhereObject(data) {\n\t\tconst fields = this.#modelFields();\n\t\tconst filters = [];\n\t\tfor (const [key, value] of Object.entries(data)) {\n\t\t\tif (value === void 0) continue;\n\t\t\tconst wrapped = this.#wrapFieldValue(value, fields[key]);\n\t\t\tfilters.push(MongoFieldFilter.eq(key, wrapped));\n\t\t}\n\t\treturn filters;\n\t}\n\t#wrapFieldValue(value, field) {\n\t\tif (field === void 0) return new MongoParamRef(value);\n\t\tif (field.type.kind === \"scalar\") return new MongoParamRef(value, { codecId: field.type.codecId });\n\t\tif (field.type.kind === \"valueObject\") {\n\t\t\tconst voName = field.type.name;\n\t\t\tconst voDef = domainValueObjectsAtDefaultNamespace(this.#contract.domain)?.[voName];\n\t\t\tif (!voDef || value === null) return new MongoParamRef(value);\n\t\t\tif (field.many && Array.isArray(value)) return value.map((item) => this.#wrapValueObject(blindCast(item), voDef));\n\t\t\treturn this.#wrapValueObject(blindCast(value), voDef);\n\t\t}\n\t\treturn new MongoParamRef(value);\n\t}\n\t#wrapValueObject(data, voDef) {\n\t\tconst doc = {};\n\t\tfor (const [key, value] of Object.entries(data)) {\n\t\t\tif (value === void 0) continue;\n\t\t\tconst fieldDef = voDef.fields[key];\n\t\t\tdoc[key] = this.#wrapFieldValue(value, fieldDef);\n\t\t}\n\t\treturn doc;\n\t}\n\t#toDocument(data) {\n\t\tconst fields = this.#modelFields();\n\t\tconst doc = {};\n\t\tfor (const [key, value] of Object.entries(data)) if (value !== void 0) doc[key] = this.#wrapFieldValue(value, fields[key]);\n\t\treturn doc;\n\t}\n\t#toSetFields(data) {\n\t\tconst fields = this.#modelFields();\n\t\tconst result = {};\n\t\tfor (const [key, value] of Object.entries(data)) {\n\t\t\tif (key === \"_id\" && value !== void 0) throw ormError(\"ORM.FIELD_IMMUTABLE\", \"Mutation payloads cannot modify `_id`\", { meta: { field: \"_id\" } });\n\t\t\tif (value !== void 0) result[key] = this.#wrapFieldValue(value, fields[key]);\n\t\t}\n\t\treturn result;\n\t}\n\t#stripUndefined(data) {\n\t\tconst result = {};\n\t\tfor (const [key, value] of Object.entries(data)) if (value !== void 0) result[key] = value;\n\t\treturn result;\n\t}\n\t#toUpdateDocument(data) {\n\t\treturn { $set: this.#toSetFields(data) };\n\t}\n\t#resolveUpdateDoc(dataOrCallback) {\n\t\tif (typeof dataOrCallback === \"function\") {\n\t\t\tconst ops = dataOrCallback(createFieldAccessor());\n\t\t\tif (ops.find((op) => op.field === \"_id\")) throw ormError(\"ORM.FIELD_IMMUTABLE\", \"Mutation payloads cannot modify `_id`\", { meta: { field: \"_id\" } });\n\t\t\tif (ops.length === 0) return { $set: {} };\n\t\t\treturn compileFieldOperations(ops, (field, value, operator) => this.#wrapFieldOpValue(field, value, operator));\n\t\t}\n\t\treturn this.#toUpdateDocument(blindCast(dataOrCallback));\n\t}\n\t#wrapFieldOpValue(field, value, operator) {\n\t\tif (operator === \"$unset\") return value;\n\t\tconst topLevelField = field.split(\".\")[0] ?? field;\n\t\tconst contractField = this.#modelFields()[topLevelField];\n\t\tif (!contractField) return value;\n\t\tif (field.includes(\".\")) return this.#wrapDotPathValue(field, value);\n\t\tif (value instanceof MongoParamRef && contractField.type.kind === \"scalar\") return new MongoParamRef(value.value, { codecId: contractField.type.codecId });\n\t\tif (contractField.type.kind === \"valueObject\" && value instanceof MongoParamRef) {\n\t\t\tconst raw = value.value;\n\t\t\tif (isUnknownRecord(raw)) {\n\t\t\t\tconst voName = contractField.type.name;\n\t\t\t\tconst voDef = domainValueObjectsAtDefaultNamespace(this.#contract.domain)?.[voName];\n\t\t\t\tif (voDef) return this.#wrapValueObject(raw, voDef);\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}\n\t#wrapDotPathValue(dotPath, value) {\n\t\tconst parts = dotPath.split(\".\");\n\t\tconst fields = this.#modelFields();\n\t\tlet currentField = parts[0] ? fields[parts[0]] : void 0;\n\t\tfor (let i = 1; i < parts.length; i++) {\n\t\t\tif (currentField?.type.kind !== \"valueObject\") return value;\n\t\t\tconst voName = currentField.type.name;\n\t\t\tconst voDef = domainValueObjectsAtDefaultNamespace(this.#contract.domain)?.[voName];\n\t\t\tif (!voDef) return value;\n\t\t\tconst partKey = parts[i];\n\t\t\tcurrentField = partKey ? voDef.fields[partKey] : void 0;\n\t\t}\n\t\tif (currentField?.type.kind === \"scalar\" && value instanceof MongoParamRef) return new MongoParamRef(value.value, { codecId: currentField.type.codecId });\n\t\tif (currentField?.type.kind === \"valueObject\" && value instanceof MongoParamRef) {\n\t\t\tconst raw = value.value;\n\t\t\tif (isUnknownRecord(raw)) {\n\t\t\t\tconst voName = currentField.type.name;\n\t\t\t\tconst voDef = domainValueObjectsAtDefaultNamespace(this.#contract.domain)?.[voName];\n\t\t\t\tif (voDef) return this.#wrapValueObject(raw, voDef);\n\t\t\t}\n\t\t}\n\t\treturn value;\n\t}\n\t#mergeFilters() {\n\t\tconst [single] = this.#state.filters;\n\t\tif (this.#state.filters.length === 1 && single) return single;\n\t\treturn MongoAndExpr.of([...this.#state.filters]);\n\t}\n\t#requireFilters(methodName) {\n\t\tif (this.#state.filters.length === 0) throw ormError(\"ORM.WHERE_MISSING\", `${methodName}() requires a .where() filter. Call .where() before .${methodName}()`, { meta: { method: methodName } });\n\t}\n\t#rejectWindowing(methodName) {\n\t\tif (this.#state.orderBy !== void 0 || this.#state.limit !== void 0 || this.#state.offset !== void 0) throw ormError(\"ORM.OPERATION_UNSUPPORTED\", `${methodName}() does not support orderBy/skip/take. Remove windowing before calling .${methodName}()`, { meta: {\n\t\t\tmethod: methodName,\n\t\t\treason: \"windowing\"\n\t\t} });\n\t}\n\t#rejectIncludes(methodName) {\n\t\tif (this.#state.includes.length > 0) throw ormError(\"ORM.OPERATION_UNSUPPORTED\", `${methodName}() does not support .include(). Remove includes before calling .${methodName}()`, { meta: {\n\t\t\tmethod: methodName,\n\t\t\treason: \"includes\"\n\t\t} });\n\t}\n\t#planMeta() {\n\t\treturn {\n\t\t\ttarget: \"mongo\",\n\t\t\tstorageHash: this.#contract.storage.storageHash,\n\t\t\tlane: \"mongo-orm\"\n\t\t};\n\t}\n\t#injectDiscriminator(data) {\n\t\tif (!this.#variantName) return data;\n\t\tconst model = blindCast(domainModelsAtDefaultNamespace(this.#contract.domain)[this.#modelName]);\n\t\tif (!model?.discriminator || !model.variants) return data;\n\t\tconst variantEntry = model.variants[this.#variantName];\n\t\tif (!variantEntry) return data;\n\t\treturn {\n\t\t\t...data,\n\t\t\t[model.discriminator.field]: variantEntry.value\n\t\t};\n\t}\n\t#clone(overrides) {\n\t\tconst instance = new MongoCollectionImpl(this.#contract, this.#modelName, this.#executor);\n\t\tinstance.#state = {\n\t\t\t...this.#state,\n\t\t\t...overrides\n\t\t};\n\t\tinstance.#collectionName = this.#collectionName;\n\t\tinstance.#variantName = this.#variantName;\n\t\treturn instance;\n\t}\n\t#cloneWithVariant(overrides, variantName) {\n\t\tconst instance = new MongoCollectionImpl(this.#contract, this.#modelName, this.#executor);\n\t\tinstance.#state = {\n\t\t\t...this.#state,\n\t\t\t...overrides\n\t\t};\n\t\tinstance.#collectionName = this.#collectionName;\n\t\tinstance.#variantName = variantName;\n\t\treturn instance;\n\t}\n};\nfunction createMongoCollection(contract, modelName, executor) {\n\treturn new MongoCollectionImpl(contract, modelName, executor);\n}\n//#endregion\n//#region src/mongo-orm.ts\nfunction mongoOrm(options) {\n\tconst { contract, executor } = options;\n\tconst client = {};\n\tfor (const [rootName, rootRef] of Object.entries(contract.roots)) client[rootName] = createMongoCollection(contract, blindCast(rootRef.model), executor);\n\treturn client;\n}\n//#endregion\n//#region src/raw-collection.ts\nfunction createRawMongoCollection(collectionName, meta) {\n\tfunction buildable(command) {\n\t\treturn { build: () => ({\n\t\t\tcollection: collectionName,\n\t\t\tcommand,\n\t\t\tmeta\n\t\t}) };\n\t}\n\treturn {\n\t\taggregate(pipeline) {\n\t\t\treturn buildable(new RawAggregateCommand(collectionName, pipeline));\n\t\t},\n\t\tinsertOne(document) {\n\t\t\treturn buildable(new RawInsertOneCommand(collectionName, document));\n\t\t},\n\t\tinsertMany(documents) {\n\t\t\treturn buildable(new RawInsertManyCommand(collectionName, documents));\n\t\t},\n\t\tupdateOne(filter, update) {\n\t\t\treturn buildable(new RawUpdateOneCommand(collectionName, filter, update));\n\t\t},\n\t\tupdateMany(filter, update) {\n\t\t\treturn buildable(new RawUpdateManyCommand(collectionName, filter, update));\n\t\t},\n\t\tdeleteOne(filter) {\n\t\t\treturn buildable(new RawDeleteOneCommand(collectionName, filter));\n\t\t},\n\t\tdeleteMany(filter) {\n\t\t\treturn buildable(new RawDeleteManyCommand(collectionName, filter));\n\t\t},\n\t\tfindOneAndUpdate(filter, update, options) {\n\t\t\treturn buildable(new RawFindOneAndUpdateCommand(collectionName, filter, update, options?.upsert ?? false));\n\t\t},\n\t\tfindOneAndDelete(filter) {\n\t\t\treturn buildable(new RawFindOneAndDeleteCommand(collectionName, filter));\n\t\t}\n\t};\n}\n//#endregion\n//#region src/mongo-raw.ts\nfunction mongoRaw(options) {\n\tconst { contract } = options;\n\treturn { collection(rootName) {\n\t\tconst modelName = contract.roots[rootName]?.model;\n\t\tconst models = domainModelsAtDefaultNamespace(contract.domain);\n\t\tif (!modelName || !Object.hasOwn(models, modelName)) throw ormError(\"ORM.MODEL_UNKNOWN\", `Unknown model \"${modelName ?? \"\"}\" for root \"${rootName}\"`, { meta: {\n\t\t\tmodel: modelName ?? \"\",\n\t\t\troot: rootName\n\t\t} });\n\t\treturn createRawMongoCollection(models[modelName].storage.collection ?? modelName, {\n\t\t\ttarget: \"mongo\",\n\t\t\tstorageHash: contract.storage.storageHash,\n\t\t\tlane: \"mongo-raw\"\n\t\t});\n\t} };\n}\n//#endregion\nexport { compileMongoQuery, createFieldAccessor, createMongoCollection, mongoOrm, mongoRaw };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { ot as MongoResultShape, rt as MongoQueryPlan } from "./query-plan-C0-Yu
4
4
  import "./execution-CKnUiOfm.mjs";
5
5
  import { r as AnyMongoDmlWireCommand } from "./index-BR0ue13b.mjs";
6
6
  import { a as MongoLoweredDraft, i as MongoDriver, t as MongoAdapter } from "./index-DAOkcTCK.mjs";
7
- import { AfterExecuteResult, AsyncIterableResult, ExecutionPlan, ParamRefMutator, RuntimeExecuteOptions, RuntimeMiddleware, RuntimeMiddlewareContext } from "@prisma/orm-framework/components/runtime";
7
+ import { AfterExecuteResult, AfterQueryResult, AsyncIterableResult, ExecuteInterceptResult, ExecutionPlan, ParamRefMutator, QueryInterceptResult, RuntimeExecuteOptions, RuntimeMiddleware, RuntimeMiddlewareContext, RuntimeStatementStats } from "@prisma/orm-framework/components/runtime";
8
8
  import { RuntimeAdapterDescriptor, RuntimeAdapterInstance, RuntimeDriverDescriptor, RuntimeDriverInstance, RuntimeExtensionDescriptor, RuntimeExtensionInstance, RuntimeTargetDescriptor, RuntimeTargetInstance, RuntimeTargetInstance as RuntimeTargetInstance$1 } from "@prisma/orm-framework/components/execution";
9
9
  //#region ../../../2-mongo-family/7-runtime/dist/index.d.mts
10
10
  //#region src/mongo-execution-plan.d.ts
@@ -195,14 +195,15 @@ declare function createMongoParamRefMutator<TCodecMap extends Record<string, unk
195
195
  //#endregion
196
196
  //#region src/mongo-middleware.d.ts
197
197
  /**
198
- * Per-execute middleware context for Mongo. See {@link MongoMiddleware} for
199
- * plan/command lifecycle during `beforeExecute` vs later hooks.
198
+ * Per-operation middleware context for Mongo. See {@link MongoMiddleware} for
199
+ * plan/command lifecycle during `beforeQuery` / `beforeExecute` vs later hooks.
200
200
  */
201
201
  interface MongoMiddlewareContext extends RuntimeMiddlewareContext {
202
202
  /**
203
203
  * Stable digest of `meta.storageHash` plus the **resolved** wire command.
204
- * Valid only on post-resolution plans (typically `afterExecute` or intercept
205
- * after `resolveParams`). Calling this from `beforeExecute` throws
204
+ * Valid only on post-resolution plans (typically `afterQuery`,
205
+ * `afterExecute`, or intercept after `resolveParams`). Calling this from
206
+ * `beforeQuery` or `beforeExecute` throws
206
207
  * `RUNTIME.CONTENT_HASH_REQUIRES_RESOLVED_COMMAND` because `plan.command`
207
208
  * is still an unresolved draft at that point.
208
209
  */
@@ -210,21 +211,20 @@ interface MongoMiddlewareContext extends RuntimeMiddlewareContext {
210
211
  }
211
212
  /**
212
213
  * Mongo-domain middleware. Extends the framework `RuntimeMiddleware`
213
- * parameterized over `MongoExecutionPlan` because `runWithMiddleware`
214
- * (driven by `RuntimeCore`) invokes the lifecycle hooks with the
215
- * post-lowering plan.
214
+ * parameterized over `MongoExecutionPlan` because the operation-specific
215
+ * middleware runners invoke the lifecycle hooks with the post-lowering plan.
216
216
  *
217
217
  * `familyId` is optional so generic cross-family middleware (e.g.
218
218
  * telemetry) — which carry no `familyId` — remain assignable. When
219
219
  * present, it must be `'mongo'`; the runtime rejects mismatches at
220
220
  * construction time via `checkMiddlewareCompatibility`.
221
221
  *
222
- * **Pre-resolve `beforeExecute` contract:** `plan.command` holds the
222
+ * **Pre-resolve `beforeQuery` contract:** `plan.command` holds the
223
223
  * unresolved `MongoLoweredDraft`, not a wire command. Observe and mutate
224
224
  * parameters via `params.entries()` / `replaceValue` / `replaceValues` only.
225
225
  * Do not inspect `plan.command` structurally or call `ctx.contentHash` in
226
226
  * this hook. After the chain, `resolveParams` produces the frozen wire
227
- * command used in `afterExecute` and for `contentHash`.
227
+ * command used in `afterQuery` and for `contentHash`.
228
228
  */
229
229
  interface MongoMiddleware extends RuntimeMiddleware<MongoExecutionPlan> {
230
230
  readonly familyId?: 'mongo';
@@ -232,8 +232,16 @@ interface MongoMiddleware extends RuntimeMiddleware<MongoExecutionPlan> {
232
232
  * Runs after structural lower, before `resolveParams`. `plan.command` is the
233
233
  * unresolved draft; use `params` for param-ref access, not `plan.command`.
234
234
  */
235
- beforeExecute?(plan: MongoExecutionPlan, ctx: MongoMiddlewareContext, params?: MongoParamRefMutator): void | Promise<void>;
235
+ beforeQuery?(plan: MongoExecutionPlan, ctx: MongoMiddlewareContext, params?: MongoParamRefMutator): void | Promise<void>;
236
+ interceptQuery?(plan: MongoExecutionPlan, ctx: MongoMiddlewareContext): Promise<QueryInterceptResult | undefined>;
236
237
  onRow?(row: Record<string, unknown>, plan: MongoExecutionPlan, ctx: MongoMiddlewareContext): Promise<void>;
238
+ afterQuery?(plan: MongoExecutionPlan, result: AfterQueryResult, ctx: MongoMiddlewareContext): Promise<void>;
239
+ /**
240
+ * Runs after structural lower, before `resolveParams`. `plan.command` is the
241
+ * unresolved draft; use `params` for param-ref access, not `plan.command`.
242
+ */
243
+ beforeExecute?(plan: MongoExecutionPlan, ctx: MongoMiddlewareContext, params?: MongoParamRefMutator): void | Promise<void>;
244
+ interceptExecute?(plan: MongoExecutionPlan, ctx: MongoMiddlewareContext): Promise<ExecuteInterceptResult | undefined>;
237
245
  afterExecute?(plan: MongoExecutionPlan, result: AfterExecuteResult, ctx: MongoMiddlewareContext): Promise<void>;
238
246
  }
239
247
  //#endregion
@@ -257,7 +265,7 @@ interface MongoRuntimeOptions {
257
265
  }
258
266
  interface MongoRuntime {
259
267
  /**
260
- * Execute a `MongoQueryPlan` and return an async iterable of rows.
268
+ * Query a `MongoQueryPlan` and return an async iterable of rows.
261
269
  *
262
270
  * The optional `options.signal` is threaded through
263
271
  * `lower → adapter.lower → resolveValue → codec.encode` so codec authors
@@ -267,7 +275,7 @@ interface MongoRuntime {
267
275
  *
268
276
  * - **Already-aborted at entry** — first `next()` throws
269
277
  * `RUNTIME.ABORTED { phase: 'stream' }` before any work is done.
270
- * (Inherited from `RuntimeCore.execute`.)
278
+ * (Inherited from `RuntimeCore.query`.)
271
279
  * - **Mid-encode abort** — surfaces as
272
280
  * `RUNTIME.ABORTED { phase: 'encode' }` from inside `resolveValue`'s
273
281
  * per-level `Promise.all` race.
@@ -277,7 +285,8 @@ interface MongoRuntime {
277
285
  * call, so async decoders that respect the signal get cancellation; the
278
286
  * runtime itself does not currently emit a `phase: 'decode'` envelope.
279
287
  */
280
- execute<Row>(plan: MongoQueryPlan<Row>, options?: RuntimeExecuteOptions): AsyncIterableResult<Row>;
288
+ query<Row>(plan: MongoQueryPlan<Row>, options?: RuntimeExecuteOptions): AsyncIterableResult<Row>;
289
+ execute(plan: MongoQueryPlan, options?: RuntimeExecuteOptions): Promise<RuntimeStatementStats>;
281
290
  close(): Promise<void>;
282
291
  }
283
292
  declare function createMongoRuntime(options: MongoRuntimeOptions): MongoRuntime;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.mts","names":[],"sources":["../../../../2-mongo-family/7-runtime/dist/index.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BU,mBAAmB,uBAAuB,cAAc;;;;;;;;;WASvD,SAAS;WACT,cAAc;;;;;;;;;UASf;WACC,cAAc;;UAEf,6BAA6B,oCAAoC,wBAAwB,iCAAiC,aAAa,iCAAiC,oBAAoB,iCAAiC,WAAW,kBAAkB;UAC1P,4BAA4B,4CAA4C,gCAAgC,YAAY;UACpH,8BAA8B,oCAAoC,yBAAyB,gCAAgC,aAAa,4BAA4B,oBAAoB,kCAAkC,WAAW,mBAAmB;UACxP,8BAA8B,4CAA4C,kCAAkC;UAC5G,gCAAgC,4CAA4C,oCAAoC,WAAW,8BAA8B,aAAa;EAC9K,UAAU,8BAA8B;;;;;UAKhC,oBAAoB;WACnB,QAAQ,6BAA6B;WACrC,SAAS,8BAA8B;WACvC,QAAQ,iCAAiC,oBAAoB,+BAA+B;WAC5F,qBAAqB,gCAAgC;;iBAE/C,0BAA0B,oCAAoC;WACpE,QAAQ,6BAA6B;WACrC,SAAS,8BAA8B;WACvC,SAAS,iCAAiC,oBAAoB,+BAA+B;WAC7F,sBAAsB,gCAAgC;IAC7D,oBAAoB;;;;;;UAMd;EACR,IAAI,aAAa;EACjB,IAAI;;;;;;;;;UASI,sBAAsB,qBAAqB;WAC1C,UAAU;WACV,QAAQ;WACR,OAAO,oBAAoB;;iBAErB,4BAA4B,qBAAqB,oCAAoC;WAC3F,UAAU;WACV,OAAO,oBAAoB;IAClC,sBAAsB,WAAW;;;;;;;;;cASvB;;;;;;;;UAQJ,oBAAoB;YAClB,2BAA2B;;;;;;;UAO7B,mBAAmB;WAClB,KAAK,oBAAoB;WACzB;WACA,SAAS;;;;;;;;KAQf,wBAAwB,kBAAkB,8BAA8B,WAAW,qBAAqB,mBAAmB,YAAY,sBAAsB;;;;;;;;;;;;;;;;;;;;UAoBxJ,qBAAqB,kBAAkB,0BAA0B,iCAAiC;EAC1G,WAAW,iBAAiB,wBAAwB;EACpD,aAAa,uBAAuB,oBAAoB,KAAK,oBAAoB,WAAW,UAAU,UAAU;EAChH,aAAa,KAAK,gCAAgC;EAClD,cAAc,SAAS;aACZ,KAAK,2BAA2B;aAChC;;;;;;;;;;UAUH,6BAA6B,kBAAkB,0BAA0B,iCAAiC,qBAAqB;EACvI,gBAAgB;;;;;;;;;;;;;iBAaD,sBAAsB,OAAO,oBAAoB,UAAU;;;;;;;;;iBAS3D,2BAA2B,kBAAkB,0BAA0B,yBAAyB,OAAO,oBAAoB,6BAA6B;;;;;;;UAO/J,+BAA+B;;;;;;;;EAQvC,YAAY,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;UAoB/B,wBAAwB,kBAAkB;WACzC;;;;;EAKT,eAAe,MAAM,oBAAoB,KAAK,wBAAwB,SAAS,8BAA8B;EAC7G,OAAO,KAAK,yBAAyB,MAAM,oBAAoB,KAAK,yBAAyB;EAC7F,cAAc,MAAM,oBAAoB,QAAQ,oBAAoB,KAAK,yBAAyB;;;;;;;;;;;;;;;UAe1F;WACC,SAAS;WACT,QAAQ;WACR,sBAAsB;WACtB;;UAED;;;;;;;;;;;;;;;;;;;;;;EAsBR,QAAQ,KAAK,MAAM,eAAe,MAAM,UAAU,wBAAwB,oBAAoB;EAC9F,SAAS;;iBAEM,mBAAmB,SAAS,sBAAsB"}
1
+ {"version":3,"file":"runtime.d.mts","names":[],"sources":["../../../../2-mongo-family/7-runtime/dist/index.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BU,mBAAmB,uBAAuB,cAAc;;;;;;;;;WASvD,SAAS;WACT,cAAc;;;;;;;;;UASf;WACC,cAAc;;UAEf,6BAA6B,oCAAoC,wBAAwB,iCAAiC,aAAa,iCAAiC,oBAAoB,iCAAiC,WAAW,kBAAkB;UAC1P,4BAA4B,4CAA4C,gCAAgC,YAAY;UACpH,8BAA8B,oCAAoC,yBAAyB,gCAAgC,aAAa,4BAA4B,oBAAoB,kCAAkC,WAAW,mBAAmB;UACxP,8BAA8B,4CAA4C,kCAAkC;UAC5G,gCAAgC,4CAA4C,oCAAoC,WAAW,8BAA8B,aAAa;EAC9K,UAAU,8BAA8B;;;;;UAKhC,oBAAoB;WACnB,QAAQ,6BAA6B;WACrC,SAAS,8BAA8B;WACvC,QAAQ,iCAAiC,oBAAoB,+BAA+B;WAC5F,qBAAqB,gCAAgC;;iBAE/C,0BAA0B,oCAAoC;WACpE,QAAQ,6BAA6B;WACrC,SAAS,8BAA8B;WACvC,SAAS,iCAAiC,oBAAoB,+BAA+B;WAC7F,sBAAsB,gCAAgC;IAC7D,oBAAoB;;;;;;UAMd;EACR,IAAI,aAAa;EACjB,IAAI;;;;;;;;;UASI,sBAAsB,qBAAqB;WAC1C,UAAU;WACV,QAAQ;WACR,OAAO,oBAAoB;;iBAErB,4BAA4B,qBAAqB,oCAAoC;WAC3F,UAAU;WACV,OAAO,oBAAoB;IAClC,sBAAsB,WAAW;;;;;;;;;cASvB;;;;;;;;UAQJ,oBAAoB;YAClB,2BAA2B;;;;;;;UAO7B,mBAAmB;WAClB,KAAK,oBAAoB;WACzB;WACA,SAAS;;;;;;;;KAQf,wBAAwB,kBAAkB,8BAA8B,WAAW,qBAAqB,mBAAmB,YAAY,sBAAsB;;;;;;;;;;;;;;;;;;;;UAoBxJ,qBAAqB,kBAAkB,0BAA0B,iCAAiC;EAC1G,WAAW,iBAAiB,wBAAwB;EACpD,aAAa,uBAAuB,oBAAoB,KAAK,oBAAoB,WAAW,UAAU,UAAU;EAChH,aAAa,KAAK,gCAAgC;EAClD,cAAc,SAAS;aACZ,KAAK,2BAA2B;aAChC;;;;;;;;;;UAUH,6BAA6B,kBAAkB,0BAA0B,iCAAiC,qBAAqB;EACvI,gBAAgB;;;;;;;;;;;;;iBAaD,sBAAsB,OAAO,oBAAoB,UAAU;;;;;;;;;iBAS3D,2BAA2B,kBAAkB,0BAA0B,yBAAyB,OAAO,oBAAoB,6BAA6B;;;;;;;UAO/J,+BAA+B;;;;;;;;;EASvC,YAAY,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;UAmB/B,wBAAwB,kBAAkB;WACzC;;;;;EAKT,aAAa,MAAM,oBAAoB,KAAK,wBAAwB,SAAS,8BAA8B;EAC3G,gBAAgB,MAAM,oBAAoB,KAAK,yBAAyB,QAAQ;EAChF,OAAO,KAAK,yBAAyB,MAAM,oBAAoB,KAAK,yBAAyB;EAC7F,YAAY,MAAM,oBAAoB,QAAQ,kBAAkB,KAAK,yBAAyB;;;;;EAK9F,eAAe,MAAM,oBAAoB,KAAK,wBAAwB,SAAS,8BAA8B;EAC7G,kBAAkB,MAAM,oBAAoB,KAAK,yBAAyB,QAAQ;EAClF,cAAc,MAAM,oBAAoB,QAAQ,oBAAoB,KAAK,yBAAyB;;;;;;;;;;;;;;;UAe1F;WACC,SAAS;WACT,QAAQ;WACR,sBAAsB;WACtB;;UAED;;;;;;;;;;;;;;;;;;;;;;EAsBR,MAAM,KAAK,MAAM,eAAe,MAAM,UAAU,wBAAwB,oBAAoB;EAC5F,QAAQ,MAAM,gBAAgB,UAAU,wBAAwB,QAAQ;EACxE,SAAS;;iBAEM,mBAAmB,SAAS,sBAAsB"}
package/dist/runtime.mjs CHANGED
@@ -4,7 +4,7 @@ import { isStructuredError } from "@prisma/orm-framework/utils/structured-error"
4
4
  import { blindCast } from "@prisma/orm-framework/utils/casts";
5
5
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
6
6
  import { canonicalStringify } from "@prisma/orm-framework/utils/canonical-stringify";
7
- import { AsyncIterableResult, RuntimeCore, checkAborted, checkMiddlewareCompatibility, runBeforeExecuteChain, runWithMiddleware, runtimeError } from "@prisma/orm-framework/components/runtime";
7
+ import { AsyncIterableResult, RuntimeCore, checkAborted, checkMiddlewareCompatibility, runBeforeExecuteChain, runBeforeQueryChain, runExecuteWithMiddleware, runQueryWithMiddleware, runtimeError } from "@prisma/orm-framework/components/runtime";
8
8
  import { createExecutionStack } from "@prisma/orm-framework/components/execution";
9
9
  import { hashContent } from "@prisma/orm-framework/utils/hash-content";
10
10
  import { isPlainRecord } from "@prisma/orm-framework/contract/is-plain-record";
@@ -160,7 +160,7 @@ function isResolvedMongoWireCommand(command) {
160
160
  }
161
161
  function assertContentHashOnResolvedCommand(command) {
162
162
  if (isResolvedMongoWireCommand(command)) return;
163
- throw runtimeError(RUNTIME_CONTENT_HASH_REQUIRES_RESOLVED_COMMAND, "contentHash and computeMongoContentHash are only valid on a resolved wire command (after param resolution, e.g. from afterExecute). During beforeExecute, plan.command holds an unresolved MongoLoweredDraft — use params.entries() and the param mutator instead of contentHash or structural reads of plan.command.", { phase: "beforeExecute" });
163
+ throw runtimeError(RUNTIME_CONTENT_HASH_REQUIRES_RESOLVED_COMMAND, "contentHash and computeMongoContentHash are only valid on a resolved wire command after parameter resolution. During a before hook, plan.command holds an unresolved MongoLoweredDraft — use params.entries() and the param mutator instead of contentHash or structural reads of plan.command.", { phase: "beforeExecute" });
164
164
  }
165
165
  /**
166
166
  * Computes a stable content hash for a lowered Mongo execution plan.
@@ -447,6 +447,24 @@ function createMongoParamRefMutator(draft) {
447
447
  };
448
448
  }
449
449
  function noop() {}
450
+ function isUnknownRecord(value) {
451
+ return typeof value === "object" && value !== null && !Array.isArray(value);
452
+ }
453
+ function statisticsCountField(commandKind) {
454
+ switch (commandKind) {
455
+ case "updateOne":
456
+ case "updateMany": return "modifiedCount";
457
+ case "deleteOne":
458
+ case "deleteMany": return "deletedCount";
459
+ default: return;
460
+ }
461
+ }
462
+ function invalidStatisticsResult(commandKind, countField) {
463
+ return runtimeError("RUNTIME.MONGO_STATISTICS_RESULT_INVALID", `Mongo command '${commandKind}' did not return exactly one numeric '${countField}' result`, {
464
+ commandKind,
465
+ countField
466
+ });
467
+ }
450
468
  var MongoRuntimeImpl = class extends RuntimeCore {
451
469
  #adapter;
452
470
  #driver;
@@ -477,7 +495,7 @@ var MongoRuntimeImpl = class extends RuntimeCore {
477
495
  this.#driver = options.driver;
478
496
  this.#codecs = options.context.codecs;
479
497
  }
480
- /* v8 ignore start -- one-phase lower satisfies RuntimeCore; execute uses structuralLower + resolveParams */
498
+ /* v8 ignore start -- one-phase lower satisfies RuntimeCore; operations use the split preparation pipeline */
481
499
  async lower(plan, ctx) {
482
500
  return {
483
501
  command: await this.#adapter.lower(plan, ctx),
@@ -489,36 +507,75 @@ var MongoRuntimeImpl = class extends RuntimeCore {
489
507
  runDriver(exec) {
490
508
  return this.#driver.execute(exec.command);
491
509
  }
492
- execute(plan, options) {
493
- const self = this;
510
+ runExecute(exec) {
511
+ return this.#readDriverStatistics(exec);
512
+ }
513
+ createQueryContexts(options) {
494
514
  const signal = options?.signal;
495
- const codecCtx = signal === void 0 ? {} : { signal };
496
- const execCtx = {
497
- ...self.ctx,
498
- planExecutionId: crypto.randomUUID()
515
+ return {
516
+ codecCtx: signal === void 0 ? {} : { signal },
517
+ middlewareCtx: {
518
+ ...this.ctx,
519
+ ...ifDefined("signal", signal),
520
+ planExecutionId: crypto.randomUUID()
521
+ }
499
522
  };
523
+ }
524
+ prepareQueryExecution(plan, codecCtx, middlewareCtx) {
525
+ return this.prepareOperation(plan, codecCtx, middlewareCtx, runBeforeQueryChain);
526
+ }
527
+ prepareExecuteExecution(plan, codecCtx, middlewareCtx) {
528
+ return this.prepareOperation(plan, codecCtx, middlewareCtx, runBeforeExecuteChain);
529
+ }
530
+ async prepareOperation(plan, codecCtx, middlewareCtx, runBefore) {
531
+ checkAborted(codecCtx, "stream");
532
+ const compiled = await this.runBeforeCompile(plan);
533
+ const draft = this.#adapter.structuralLower(compiled);
534
+ const mutator = createMongoParamRefMutator(draft);
535
+ await runBefore({
536
+ meta: compiled.meta,
537
+ ...ifDefined("resultShape", compiled.resultShape),
538
+ command: blindCast(draft)
539
+ }, this.middleware, middlewareCtx, mutator);
540
+ return {
541
+ meta: compiled.meta,
542
+ ...ifDefined("resultShape", compiled.resultShape),
543
+ command: await this.#adapter.resolveParams(mutator.currentDraft(), codecCtx)
544
+ };
545
+ }
546
+ query(plan, options) {
547
+ const self = this;
548
+ const { codecCtx, middlewareCtx } = this.createQueryContexts(options);
500
549
  const generator = async function* () {
501
- checkAborted(codecCtx, "stream");
502
- const compiled = await self.runBeforeCompile(plan);
503
- const draft = self.#adapter.structuralLower(compiled);
504
- const mutator = createMongoParamRefMutator(draft);
505
- await runBeforeExecuteChain({
506
- meta: compiled.meta,
507
- ...ifDefined("resultShape", compiled.resultShape),
508
- command: blindCast(draft)
509
- }, self.middleware, execCtx, mutator);
510
- const resolvedCommand = await self.#adapter.resolveParams(mutator.currentDraft(), codecCtx);
511
- const exec = {
512
- meta: compiled.meta,
513
- ...ifDefined("resultShape", compiled.resultShape),
514
- command: resolvedCommand
515
- };
516
- const stream = runWithMiddleware(exec, self.middleware, execCtx, () => self.runDriver(exec));
517
- for await (const rawRow of stream) if (exec.resultShape === void 0) yield blindCast(rawRow);
518
- else yield blindCast(await decodeMongoRow(rawRow, exec.resultShape, self.#codecs, exec.command.collection, codecCtx));
550
+ const exec = await self.prepareQueryExecution(plan, codecCtx, middlewareCtx);
551
+ const stream = runQueryWithMiddleware(exec, self.middleware, middlewareCtx, () => self.runDriver(exec));
552
+ for await (const rawRow of stream) {
553
+ checkAborted(codecCtx, "stream");
554
+ if (exec.resultShape === void 0) yield blindCast(rawRow);
555
+ else yield blindCast(await decodeMongoRow(rawRow, exec.resultShape, self.#codecs, exec.command.collection, codecCtx));
556
+ }
519
557
  };
520
558
  return new AsyncIterableResult(generator());
521
559
  }
560
+ async execute(plan, options) {
561
+ const { codecCtx, middlewareCtx } = this.createQueryContexts(options);
562
+ const exec = await this.prepareExecuteExecution(plan, codecCtx, middlewareCtx);
563
+ checkAborted(codecCtx, "stream");
564
+ return runExecuteWithMiddleware(exec, this.middleware, middlewareCtx, () => this.runExecute(exec));
565
+ }
566
+ async #readDriverStatistics(exec) {
567
+ const countField = statisticsCountField(exec.command.kind);
568
+ if (countField === void 0) throw runtimeError("RUNTIME.MONGO_STATISTICS_UNSUPPORTED", `Mongo command '${exec.command.kind}' does not expose statement statistics`, { commandKind: exec.command.kind });
569
+ let affectedRows;
570
+ for await (const result of this.#driver.execute(exec.command)) {
571
+ if (affectedRows !== void 0 || !isUnknownRecord(result)) throw invalidStatisticsResult(exec.command.kind, countField);
572
+ const count = result[countField];
573
+ if (typeof count !== "number") throw invalidStatisticsResult(exec.command.kind, countField);
574
+ affectedRows = count;
575
+ }
576
+ if (affectedRows === void 0) throw invalidStatisticsResult(exec.command.kind, countField);
577
+ return { affectedRows };
578
+ }
522
579
  async close() {
523
580
  await this.#driver.close();
524
581
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.mjs","names":["#adapter","#driver","#codecs"],"sources":["../../../../2-mongo-family/7-runtime/dist/index.mjs"],"sourcesContent":["import { createExecutionStack } from \"@internal/framework-components/execution\";\nimport { AsyncIterableResult, RuntimeCore, checkAborted, checkMiddlewareCompatibility, runBeforeExecuteChain, runWithMiddleware, runtimeError } from \"@internal/framework-components/runtime\";\nimport { newMongoCodecRegistry } from \"@internal/mongo-codec\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\nimport { canonicalStringify } from \"@internal/utils/canonical-stringify\";\nimport { hashContent } from \"@internal/utils/hash-content\";\nimport { isPlainRecord } from \"@internal/contract/is-plain-record\";\nimport { MongoParamRef } from \"@internal/mongo-value\";\n//#region src/mongo-execution-stack.ts\nfunction createMongoExecutionStack(options) {\n\treturn createExecutionStack({\n\t\ttarget: options.target,\n\t\tadapter: options.adapter,\n\t\tdriver: options.driver,\n\t\textensions: options.extensions\n\t});\n}\nfunction createMongoExecutionContext(options) {\n\tconst registry = newMongoCodecRegistry();\n\tconst owners = /* @__PURE__ */ new Map();\n\tconst contributors = [\n\t\toptions.stack.target,\n\t\toptions.stack.adapter,\n\t\t...options.stack.extensions\n\t];\n\tfor (const contributor of contributors) {\n\t\tconst contributed = contributor.codecs();\n\t\tfor (const codec of iterateCodecs(contributed)) {\n\t\t\tconst existingOwner = owners.get(codec.id);\n\t\t\tif (existingOwner !== void 0) throw runtimeError(\"RUNTIME.DUPLICATE_CODEC\", `Duplicate Mongo codec id '${codec.id}' contributed by '${contributor.id}' (already registered by '${existingOwner}').`, {\n\t\t\t\tcodecId: codec.id,\n\t\t\t\texistingOwner,\n\t\t\t\tincomingOwner: contributor.id\n\t\t\t});\n\t\t\tregistry.register(codec);\n\t\t\towners.set(codec.id, contributor.id);\n\t\t}\n\t}\n\treturn Object.freeze({\n\t\tcontract: options.contract,\n\t\tcodecs: registry,\n\t\tstack: options.stack\n\t});\n}\nfunction* iterateCodecs(registry) {\n\tyield* registry.values();\n}\n//#endregion\n//#region src/codecs/decoding.ts\nconst WIRE_PREVIEW_LIMIT = 100;\nfunction previewWireValue(wireValue) {\n\tif (typeof wireValue === \"string\") return wireValue.length > WIRE_PREVIEW_LIMIT ? `${wireValue.substring(0, WIRE_PREVIEW_LIMIT)}...` : wireValue;\n\treturn String(wireValue).substring(0, WIRE_PREVIEW_LIMIT);\n}\n/**\n* Structured envelopes (any error with a dotted `code`, per `isStructuredError`)\n* thrown by a codec body pass through unchanged; everything else is wrapped in\n* a `RUNTIME.DECODE_FAILED` envelope with the original error on `cause`.\n*/\nfunction wrapDecodeFailure(error, collection, path, codecId, wireValue) {\n\tif (isStructuredError(error)) throw error;\n\tconst wrapped = runtimeError(\"RUNTIME.DECODE_FAILED\", `Failed to decode field ${path} in collection '${collection}' with codec '${codecId}': ${error instanceof Error ? error.message : String(error)}`, {\n\t\tcollection,\n\t\tpath,\n\t\tcodec: codecId,\n\t\twirePreview: previewWireValue(wireValue)\n\t});\n\twrapped.cause = error;\n\tthrow wrapped;\n}\nasync function decodeMongoRow(row, shape, registry, collection, ctx = {}) {\n\tif (shape.kind === \"unknown\") return row;\n\tif (typeof row !== \"object\" || row === null) return row;\n\tconst rowObj = row;\n\tconst out = {};\n\tconst tasks = [];\n\tfunction scheduleLeaf(path, codecId, wire, assign) {\n\t\tconst codec = registry.get(codecId);\n\t\tif (!codec) {\n\t\t\tassign(wire);\n\t\t\treturn;\n\t\t}\n\t\ttasks.push((async () => {\n\t\t\ttry {\n\t\t\t\tassign(await codec.decode(wire, ctx));\n\t\t\t} catch (error) {\n\t\t\t\twrapDecodeFailure(error, collection, path, codecId, wire);\n\t\t\t}\n\t\t})());\n\t}\n\tfunction walkField(value, fieldShape, path, assign) {\n\t\tswitch (fieldShape.kind) {\n\t\t\tcase \"unknown\":\n\t\t\t\tassign(value);\n\t\t\t\treturn;\n\t\t\tcase \"leaf\":\n\t\t\t\tif (value === null || value === void 0) {\n\t\t\t\t\tassign(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tscheduleLeaf(path, fieldShape.codecId, value, assign);\n\t\t\t\treturn;\n\t\t\tcase \"document\": {\n\t\t\t\tif (value === null || value === void 0) {\n\t\t\t\t\tassign(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n\t\t\t\t\tassign(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst vObj = value;\n\t\t\t\tconst nested = { ...vObj };\n\t\t\t\tassign(nested);\n\t\t\t\tfor (const [fk, fShape] of Object.entries(fieldShape.fields)) walkField(vObj[fk], fShape, `${path}.${fk}`, (v) => {\n\t\t\t\t\tnested[fk] = v;\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcase \"array\": {\n\t\t\t\tif (value === null || value === void 0) {\n\t\t\t\t\tassign(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tassign(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst arr = [];\n\t\t\t\tassign(arr);\n\t\t\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\t\t\tconst el = value[i];\n\t\t\t\t\twalkField(el, fieldShape.element, `${path}.${i}`, (v) => {\n\t\t\t\t\t\tarr[i] = v;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t/* v8 ignore stop */\n\t}\n\tfor (const [k, fShape] of Object.entries(shape.fields)) walkField(rowObj[k], fShape, k, (v) => {\n\t\tout[k] = v;\n\t});\n\tfor (const k of Object.keys(rowObj)) if (!Object.hasOwn(shape.fields, k)) out[k] = rowObj[k];\n\tawait Promise.all(tasks);\n\treturn out;\n}\n//#endregion\n//#region src/content-hash.ts\n/** @internal */\nconst RUNTIME_CONTENT_HASH_REQUIRES_RESOLVED_COMMAND = \"RUNTIME.CONTENT_HASH_REQUIRES_RESOLVED_COMMAND\";\n/**\n* Resolved wire commands are frozen class instances (`InsertOneWireCommand`, …);\n* pre-resolve `beforeExecute` plans hold a plain-object `MongoLoweredDraft` in the\n* command slot. O(1) prototype check — no tree walk on the hot path.\n*/\nfunction isResolvedMongoWireCommand(command) {\n\tif (command === null || typeof command !== \"object\") return false;\n\tconst proto = Object.getPrototypeOf(command);\n\treturn proto !== null && proto !== Object.prototype;\n}\nfunction assertContentHashOnResolvedCommand(command) {\n\tif (isResolvedMongoWireCommand(command)) return;\n\tthrow runtimeError(RUNTIME_CONTENT_HASH_REQUIRES_RESOLVED_COMMAND, \"contentHash and computeMongoContentHash are only valid on a resolved wire command (after param resolution, e.g. from afterExecute). During beforeExecute, plan.command holds an unresolved MongoLoweredDraft — use params.entries() and the param mutator instead of contentHash or structural reads of plan.command.\", { phase: \"beforeExecute\" });\n}\n/**\n* Computes a stable content hash for a lowered Mongo execution plan.\n*\n* Internally builds an unambiguous canonical-stringified preimage from\n* two components:\n*\n* 1. `meta.storageHash` — discriminates by schema. A migration changes the\n* storage hash, which invalidates cached entries automatically (no\n* per-app invalidation logic needed for schema changes).\n* 2. `exec.command` — the wire command. `canonicalStringify` produces a\n* deterministic serialization that is stable across object key\n* insertion order and that distinguishes types JSON would otherwise\n* conflate (e.g. `BigInt(1)` vs `1`, `Date` vs ISO string, `Buffer`\n* vs number array). The spread converts the frozen wire-command\n* class instance (`InsertOneWireCommand`, `AggregateWireCommand`, …)\n* into a plain object exposing its own enumerable properties\n* (`kind`, `collection`, plus the payload-specific fields like\n* `document`/`filter`/`update`/`pipeline`/…), which is what\n* `canonicalStringify` accepts; class instances are rejected\n* outright to prevent silent collisions.\n*\n* Unlike SQL, there is no separate \"rendered statement\" component because\n* a Mongo `MongoExecutionPlan.command` is the wire command itself —\n* canonicalizing it captures both structure and parameters in one pass.\n*\n* The components are wrapped in an object and canonicalized as a single\n* unit (rather than concatenated with a delimiter) so component\n* boundaries are unambiguous and cannot collide with a different split\n* of the same characters.\n*\n* The canonical string is then piped through `hashContent` to produce a\n* bounded, opaque digest. See `@internal/utils/hash-content` for the\n* rationale.\n*\n* @throws {RuntimeErrorEnvelope} {@link RUNTIME_CONTENT_HASH_REQUIRES_RESOLVED_COMMAND}\n* when `exec.command` is still a pre-resolve draft (plain object), e.g. when\n* `contentHash` is called from `beforeExecute`.\n*\n* @internal\n*/\nfunction computeMongoContentHash(exec) {\n\tassertContentHashOnResolvedCommand(exec.command);\n\treturn hashContent(canonicalStringify({\n\t\tstorageHash: exec.meta.storageHash,\n\t\tcommand: { ...exec.command }\n\t}));\n}\n//#endregion\n//#region src/param-ref-mutator.ts\nfunction* flattenDraftSlot(value) {\n\tif (value instanceof MongoParamRef) {\n\t\tyield value;\n\t\treturn;\n\t}\n\tif (Array.isArray(value)) {\n\t\tfor (const item of value) yield* flattenDraftSlot(item);\n\t\treturn;\n\t}\n\tif (isPlainRecord(value)) for (const v of Object.values(value)) yield* flattenDraftSlot(v);\n}\n/**\n* Flat walk over a `MongoLoweredDraft` yielding every `MongoParamRef` leaf\n* regardless of nesting — object values, array elements, filter predicate\n* values, update operator values, and pipeline stage values. Raw command\n* variants carry no `MongoParamRef` nodes so they yield zero entries.\n*\n* **Walk parity:** slot traversal matches `resolveDraftSlot` / `resolveParams`\n* — refs appear only in plain-object and array containers; `Date` and other\n* non-plain objects are leaves (not descended into), so middleware sees every\n* ref the resolve pass will encode.\n*/\nfunction* flattenMongoParamRefs(draft) {\n\tswitch (draft.kind) {\n\t\tcase \"insertOne\":\n\t\tcase \"rawInsertOne\":\n\t\t\tyield* flattenDraftSlot(draft.document);\n\t\t\tbreak;\n\t\tcase \"insertMany\":\n\t\tcase \"rawInsertMany\":\n\t\t\tfor (const doc of draft.documents) yield* flattenDraftSlot(doc);\n\t\t\tbreak;\n\t\tcase \"updateOne\":\n\t\tcase \"updateMany\":\n\t\tcase \"rawUpdateOne\":\n\t\tcase \"rawUpdateMany\":\n\t\t\tyield* flattenDraftSlot(draft.filter);\n\t\t\tyield* flattenDraftSlot(draft.update);\n\t\t\tbreak;\n\t\tcase \"findOneAndUpdate\":\n\t\tcase \"rawFindOneAndUpdate\":\n\t\t\tyield* flattenDraftSlot(draft.filter);\n\t\t\tyield* flattenDraftSlot(draft.update);\n\t\t\tbreak;\n\t\tcase \"deleteOne\":\n\t\tcase \"deleteMany\":\n\t\tcase \"rawDeleteOne\":\n\t\tcase \"rawDeleteMany\":\n\t\t\tyield* flattenDraftSlot(draft.filter);\n\t\t\tbreak;\n\t\tcase \"findOneAndDelete\":\n\t\tcase \"rawFindOneAndDelete\":\n\t\t\tyield* flattenDraftSlot(draft.filter);\n\t\t\tbreak;\n\t\tcase \"aggregate\":\n\t\tcase \"rawAggregate\":\n\t\t\tfor (const stage of draft.pipeline) yield* flattenDraftSlot(stage);\n\t\t\tbreak;\n\t}\n}\nfunction substituteSlot(value, overrides) {\n\tif (value instanceof MongoParamRef) {\n\t\tif (overrides.has(value)) {\n\t\t\tconst opts = {};\n\t\t\tif (value.name !== void 0) opts.name = value.name;\n\t\t\tif (value.codecId !== void 0) opts.codecId = value.codecId;\n\t\t\treturn new MongoParamRef(overrides.get(value), opts);\n\t\t}\n\t\treturn value;\n\t}\n\tif (Array.isArray(value)) return value.map((item) => substituteSlot(item, overrides));\n\tif (isPlainRecord(value)) {\n\t\tconst out = {};\n\t\tfor (const [k, v] of Object.entries(value)) out[k] = substituteSlot(v, overrides);\n\t\treturn out;\n\t}\n\treturn value;\n}\nfunction substituteDoc(doc, overrides) {\n\treturn blindCast(substituteSlot(doc, overrides));\n}\nfunction isUpdatePipeline(update) {\n\treturn Array.isArray(update);\n}\nfunction substituteUpdate(update, overrides) {\n\tif (isUpdatePipeline(update)) return update.map((stage) => substituteDoc(stage, overrides));\n\treturn substituteDoc(update, overrides);\n}\nfunction buildMutatedDraft(draft, overrides) {\n\tswitch (draft.kind) {\n\t\tcase \"insertOne\": return {\n\t\t\tkind: \"insertOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tdocument: substituteDoc(draft.document, overrides)\n\t\t};\n\t\tcase \"rawInsertOne\": return {\n\t\t\tkind: \"rawInsertOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tdocument: substituteDoc(draft.document, overrides)\n\t\t};\n\t\tcase \"insertMany\": return {\n\t\t\tkind: \"insertMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tdocuments: draft.documents.map((d) => substituteDoc(d, overrides))\n\t\t};\n\t\tcase \"rawInsertMany\": return {\n\t\t\tkind: \"rawInsertMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tdocuments: draft.documents.map((d) => substituteDoc(d, overrides))\n\t\t};\n\t\tcase \"updateOne\": return {\n\t\t\tkind: \"updateOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides),\n\t\t\tupsert: draft.upsert\n\t\t};\n\t\tcase \"updateMany\": return {\n\t\t\tkind: \"updateMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides),\n\t\t\tupsert: draft.upsert\n\t\t};\n\t\tcase \"rawUpdateOne\": return {\n\t\t\tkind: \"rawUpdateOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides)\n\t\t};\n\t\tcase \"rawUpdateMany\": return {\n\t\t\tkind: \"rawUpdateMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides)\n\t\t};\n\t\tcase \"deleteOne\": return {\n\t\t\tkind: \"deleteOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides)\n\t\t};\n\t\tcase \"deleteMany\": return {\n\t\t\tkind: \"deleteMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides)\n\t\t};\n\t\tcase \"rawDeleteOne\": return {\n\t\t\tkind: \"rawDeleteOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides)\n\t\t};\n\t\tcase \"rawDeleteMany\": return {\n\t\t\tkind: \"rawDeleteMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides)\n\t\t};\n\t\tcase \"findOneAndUpdate\": return {\n\t\t\tkind: \"findOneAndUpdate\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides),\n\t\t\tupsert: draft.upsert,\n\t\t\tsort: draft.sort,\n\t\t\treturnDocument: draft.returnDocument\n\t\t};\n\t\tcase \"rawFindOneAndUpdate\": return {\n\t\t\tkind: \"rawFindOneAndUpdate\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides),\n\t\t\tupsert: draft.upsert,\n\t\t\tsort: draft.sort,\n\t\t\treturnDocument: draft.returnDocument\n\t\t};\n\t\tcase \"findOneAndDelete\": return {\n\t\t\tkind: \"findOneAndDelete\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tsort: draft.sort\n\t\t};\n\t\tcase \"rawFindOneAndDelete\": return {\n\t\t\tkind: \"rawFindOneAndDelete\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tsort: draft.sort\n\t\t};\n\t\tcase \"aggregate\": return {\n\t\t\tkind: \"aggregate\",\n\t\t\tcollection: draft.collection,\n\t\t\tpipeline: draft.pipeline.map((s) => substituteDoc(s, overrides))\n\t\t};\n\t\tcase \"rawAggregate\": return {\n\t\t\tkind: \"rawAggregate\",\n\t\t\tcollection: draft.collection,\n\t\t\tpipeline: draft.pipeline.map((s) => substituteDoc(s, overrides))\n\t\t};\n\t}\n}\n/**\n* Build a {@link MongoParamRefMutatorInternal} for the given lowered draft.\n*\n* The mutator captures the draft by reference and uses `flattenMongoParamRefs`\n* on demand to produce `entries()`. Replacements are stored in a lazily-\n* allocated `Map`; the fast path (no replacements) preserves bit-for-bit\n* reference identity to the original draft in `currentDraft()`.\n*/\nfunction createMongoParamRefMutator(draft) {\n\tconst originalDraft = draft;\n\tlet overrides;\n\tconst ensureOverrides = () => {\n\t\tif (!overrides) overrides = /* @__PURE__ */ new Map();\n\t\treturn overrides;\n\t};\n\tfunction* entries() {\n\t\tfor (const ref of flattenMongoParamRefs(originalDraft)) yield blindCast({\n\t\t\tref: blindCast(ref),\n\t\t\tvalue: overrides?.has(ref) ? overrides.get(ref) : ref.value,\n\t\t\tcodecId: ref.codecId\n\t\t});\n\t}\n\tfunction replaceValue(handle, newValue) {\n\t\tensureOverrides().set(blindCast(handle), newValue);\n\t}\n\tfunction replaceValues(updates) {\n\t\tconst map = ensureOverrides();\n\t\tfor (const { ref, newValue } of updates) map.set(blindCast(ref), newValue);\n\t}\n\treturn {\n\t\tentries,\n\t\treplaceValue: blindCast(replaceValue),\n\t\treplaceValues,\n\t\tcurrentDraft() {\n\t\t\tif (!overrides || overrides.size === 0) return originalDraft;\n\t\t\treturn buildMutatedDraft(originalDraft, overrides);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/mongo-runtime.ts\nfunction noop() {}\nvar MongoRuntimeImpl = class extends RuntimeCore {\n\t#adapter;\n\t#driver;\n\t#codecs;\n\tconstructor(options) {\n\t\tconst middleware = options.middleware ? [...options.middleware] : [];\n\t\tconst targetId = options.context.stack.target.targetId;\n\t\tfor (const mw of middleware) checkMiddlewareCompatibility(mw, \"mongo\", targetId);\n\t\tconst ctx = {\n\t\t\tcontract: options.context.contract,\n\t\t\tmode: options.mode ?? \"strict\",\n\t\t\tnow: () => Date.now(),\n\t\t\tlog: {\n\t\t\t\tinfo: noop,\n\t\t\t\twarn: noop,\n\t\t\t\terror: noop\n\t\t\t},\n\t\t\tcontentHash: (exec) => computeMongoContentHash(blindCast(exec)),\n\t\t\tscope: \"runtime\",\n\t\t\tplanExecutionId: \"\"\n\t\t};\n\t\tsuper({\n\t\t\tmiddleware,\n\t\t\tctx\n\t\t});\n\t\tconst adapterInstance = options.context.stack.adapter.create(options.context.stack);\n\t\tthis.#adapter = adapterInstance;\n\t\tthis.#driver = options.driver;\n\t\tthis.#codecs = options.context.codecs;\n\t}\n\t/* v8 ignore start -- one-phase lower satisfies RuntimeCore; execute uses structuralLower + resolveParams */\n\tasync lower(plan, ctx) {\n\t\treturn {\n\t\t\tcommand: await this.#adapter.lower(plan, ctx),\n\t\t\tmeta: plan.meta,\n\t\t\t...ifDefined(\"resultShape\", plan.resultShape)\n\t\t};\n\t}\n\t/* v8 ignore stop */\n\trunDriver(exec) {\n\t\treturn this.#driver.execute(exec.command);\n\t}\n\texecute(plan, options) {\n\t\tconst self = this;\n\t\tconst signal = options?.signal;\n\t\tconst codecCtx = signal === void 0 ? {} : { signal };\n\t\tconst execCtx = {\n\t\t\t...self.ctx,\n\t\t\tplanExecutionId: crypto.randomUUID()\n\t\t};\n\t\tconst generator = async function* () {\n\t\t\tcheckAborted(codecCtx, \"stream\");\n\t\t\tconst compiled = await self.runBeforeCompile(plan);\n\t\t\tconst draft = self.#adapter.structuralLower(compiled);\n\t\t\tconst mutator = createMongoParamRefMutator(draft);\n\t\t\tawait runBeforeExecuteChain({\n\t\t\t\tmeta: compiled.meta,\n\t\t\t\t...ifDefined(\"resultShape\", compiled.resultShape),\n\t\t\t\tcommand: blindCast(draft)\n\t\t\t}, self.middleware, execCtx, mutator);\n\t\t\tconst resolvedCommand = await self.#adapter.resolveParams(mutator.currentDraft(), codecCtx);\n\t\t\tconst exec = {\n\t\t\t\tmeta: compiled.meta,\n\t\t\t\t...ifDefined(\"resultShape\", compiled.resultShape),\n\t\t\t\tcommand: resolvedCommand\n\t\t\t};\n\t\t\tconst stream = runWithMiddleware(exec, self.middleware, execCtx, () => self.runDriver(exec));\n\t\t\tfor await (const rawRow of stream) if (exec.resultShape === void 0) yield blindCast(rawRow);\n\t\t\telse yield blindCast(await decodeMongoRow(rawRow, exec.resultShape, self.#codecs, exec.command.collection, codecCtx));\n\t\t};\n\t\treturn new AsyncIterableResult(generator());\n\t}\n\tasync close() {\n\t\tawait this.#driver.close();\n\t}\n};\nfunction createMongoRuntime(options) {\n\treturn new MongoRuntimeImpl(options);\n}\n//#endregion\nexport { createMongoExecutionContext, createMongoExecutionStack, createMongoParamRefMutator, createMongoRuntime, flattenMongoParamRefs };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"runtime.mjs","names":["#adapter","#driver","#codecs","#readDriverStatistics"],"sources":["../../../../2-mongo-family/7-runtime/dist/index.mjs"],"sourcesContent":["import { createExecutionStack } from \"@internal/framework-components/execution\";\nimport { AsyncIterableResult, RuntimeCore, checkAborted, checkMiddlewareCompatibility, runBeforeExecuteChain, runBeforeQueryChain, runExecuteWithMiddleware, runQueryWithMiddleware, runtimeError } from \"@internal/framework-components/runtime\";\nimport { newMongoCodecRegistry } from \"@internal/mongo-codec\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\nimport { canonicalStringify } from \"@internal/utils/canonical-stringify\";\nimport { hashContent } from \"@internal/utils/hash-content\";\nimport { isPlainRecord } from \"@internal/contract/is-plain-record\";\nimport { MongoParamRef } from \"@internal/mongo-value\";\n//#region src/mongo-execution-stack.ts\nfunction createMongoExecutionStack(options) {\n\treturn createExecutionStack({\n\t\ttarget: options.target,\n\t\tadapter: options.adapter,\n\t\tdriver: options.driver,\n\t\textensions: options.extensions\n\t});\n}\nfunction createMongoExecutionContext(options) {\n\tconst registry = newMongoCodecRegistry();\n\tconst owners = /* @__PURE__ */ new Map();\n\tconst contributors = [\n\t\toptions.stack.target,\n\t\toptions.stack.adapter,\n\t\t...options.stack.extensions\n\t];\n\tfor (const contributor of contributors) {\n\t\tconst contributed = contributor.codecs();\n\t\tfor (const codec of iterateCodecs(contributed)) {\n\t\t\tconst existingOwner = owners.get(codec.id);\n\t\t\tif (existingOwner !== void 0) throw runtimeError(\"RUNTIME.DUPLICATE_CODEC\", `Duplicate Mongo codec id '${codec.id}' contributed by '${contributor.id}' (already registered by '${existingOwner}').`, {\n\t\t\t\tcodecId: codec.id,\n\t\t\t\texistingOwner,\n\t\t\t\tincomingOwner: contributor.id\n\t\t\t});\n\t\t\tregistry.register(codec);\n\t\t\towners.set(codec.id, contributor.id);\n\t\t}\n\t}\n\treturn Object.freeze({\n\t\tcontract: options.contract,\n\t\tcodecs: registry,\n\t\tstack: options.stack\n\t});\n}\nfunction* iterateCodecs(registry) {\n\tyield* registry.values();\n}\n//#endregion\n//#region src/codecs/decoding.ts\nconst WIRE_PREVIEW_LIMIT = 100;\nfunction previewWireValue(wireValue) {\n\tif (typeof wireValue === \"string\") return wireValue.length > WIRE_PREVIEW_LIMIT ? `${wireValue.substring(0, WIRE_PREVIEW_LIMIT)}...` : wireValue;\n\treturn String(wireValue).substring(0, WIRE_PREVIEW_LIMIT);\n}\n/**\n* Structured envelopes (any error with a dotted `code`, per `isStructuredError`)\n* thrown by a codec body pass through unchanged; everything else is wrapped in\n* a `RUNTIME.DECODE_FAILED` envelope with the original error on `cause`.\n*/\nfunction wrapDecodeFailure(error, collection, path, codecId, wireValue) {\n\tif (isStructuredError(error)) throw error;\n\tconst wrapped = runtimeError(\"RUNTIME.DECODE_FAILED\", `Failed to decode field ${path} in collection '${collection}' with codec '${codecId}': ${error instanceof Error ? error.message : String(error)}`, {\n\t\tcollection,\n\t\tpath,\n\t\tcodec: codecId,\n\t\twirePreview: previewWireValue(wireValue)\n\t});\n\twrapped.cause = error;\n\tthrow wrapped;\n}\nasync function decodeMongoRow(row, shape, registry, collection, ctx = {}) {\n\tif (shape.kind === \"unknown\") return row;\n\tif (typeof row !== \"object\" || row === null) return row;\n\tconst rowObj = row;\n\tconst out = {};\n\tconst tasks = [];\n\tfunction scheduleLeaf(path, codecId, wire, assign) {\n\t\tconst codec = registry.get(codecId);\n\t\tif (!codec) {\n\t\t\tassign(wire);\n\t\t\treturn;\n\t\t}\n\t\ttasks.push((async () => {\n\t\t\ttry {\n\t\t\t\tassign(await codec.decode(wire, ctx));\n\t\t\t} catch (error) {\n\t\t\t\twrapDecodeFailure(error, collection, path, codecId, wire);\n\t\t\t}\n\t\t})());\n\t}\n\tfunction walkField(value, fieldShape, path, assign) {\n\t\tswitch (fieldShape.kind) {\n\t\t\tcase \"unknown\":\n\t\t\t\tassign(value);\n\t\t\t\treturn;\n\t\t\tcase \"leaf\":\n\t\t\t\tif (value === null || value === void 0) {\n\t\t\t\t\tassign(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tscheduleLeaf(path, fieldShape.codecId, value, assign);\n\t\t\t\treturn;\n\t\t\tcase \"document\": {\n\t\t\t\tif (value === null || value === void 0) {\n\t\t\t\t\tassign(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n\t\t\t\t\tassign(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst vObj = value;\n\t\t\t\tconst nested = { ...vObj };\n\t\t\t\tassign(nested);\n\t\t\t\tfor (const [fk, fShape] of Object.entries(fieldShape.fields)) walkField(vObj[fk], fShape, `${path}.${fk}`, (v) => {\n\t\t\t\t\tnested[fk] = v;\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcase \"array\": {\n\t\t\t\tif (value === null || value === void 0) {\n\t\t\t\t\tassign(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!Array.isArray(value)) {\n\t\t\t\t\tassign(value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst arr = [];\n\t\t\t\tassign(arr);\n\t\t\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\t\t\tconst el = value[i];\n\t\t\t\t\twalkField(el, fieldShape.element, `${path}.${i}`, (v) => {\n\t\t\t\t\t\tarr[i] = v;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t/* v8 ignore stop */\n\t}\n\tfor (const [k, fShape] of Object.entries(shape.fields)) walkField(rowObj[k], fShape, k, (v) => {\n\t\tout[k] = v;\n\t});\n\tfor (const k of Object.keys(rowObj)) if (!Object.hasOwn(shape.fields, k)) out[k] = rowObj[k];\n\tawait Promise.all(tasks);\n\treturn out;\n}\n//#endregion\n//#region src/content-hash.ts\n/** @internal */\nconst RUNTIME_CONTENT_HASH_REQUIRES_RESOLVED_COMMAND = \"RUNTIME.CONTENT_HASH_REQUIRES_RESOLVED_COMMAND\";\n/**\n* Resolved wire commands are frozen class instances (`InsertOneWireCommand`, …);\n* pre-resolve `beforeExecute` plans hold a plain-object `MongoLoweredDraft` in the\n* command slot. O(1) prototype check — no tree walk on the hot path.\n*/\nfunction isResolvedMongoWireCommand(command) {\n\tif (command === null || typeof command !== \"object\") return false;\n\tconst proto = Object.getPrototypeOf(command);\n\treturn proto !== null && proto !== Object.prototype;\n}\nfunction assertContentHashOnResolvedCommand(command) {\n\tif (isResolvedMongoWireCommand(command)) return;\n\tthrow runtimeError(RUNTIME_CONTENT_HASH_REQUIRES_RESOLVED_COMMAND, \"contentHash and computeMongoContentHash are only valid on a resolved wire command after parameter resolution. During a before hook, plan.command holds an unresolved MongoLoweredDraft — use params.entries() and the param mutator instead of contentHash or structural reads of plan.command.\", { phase: \"beforeExecute\" });\n}\n/**\n* Computes a stable content hash for a lowered Mongo execution plan.\n*\n* Internally builds an unambiguous canonical-stringified preimage from\n* two components:\n*\n* 1. `meta.storageHash` — discriminates by schema. A migration changes the\n* storage hash, which invalidates cached entries automatically (no\n* per-app invalidation logic needed for schema changes).\n* 2. `exec.command` — the wire command. `canonicalStringify` produces a\n* deterministic serialization that is stable across object key\n* insertion order and that distinguishes types JSON would otherwise\n* conflate (e.g. `BigInt(1)` vs `1`, `Date` vs ISO string, `Buffer`\n* vs number array). The spread converts the frozen wire-command\n* class instance (`InsertOneWireCommand`, `AggregateWireCommand`, …)\n* into a plain object exposing its own enumerable properties\n* (`kind`, `collection`, plus the payload-specific fields like\n* `document`/`filter`/`update`/`pipeline`/…), which is what\n* `canonicalStringify` accepts; class instances are rejected\n* outright to prevent silent collisions.\n*\n* Unlike SQL, there is no separate \"rendered statement\" component because\n* a Mongo `MongoExecutionPlan.command` is the wire command itself —\n* canonicalizing it captures both structure and parameters in one pass.\n*\n* The components are wrapped in an object and canonicalized as a single\n* unit (rather than concatenated with a delimiter) so component\n* boundaries are unambiguous and cannot collide with a different split\n* of the same characters.\n*\n* The canonical string is then piped through `hashContent` to produce a\n* bounded, opaque digest. See `@internal/utils/hash-content` for the\n* rationale.\n*\n* @throws {RuntimeErrorEnvelope} {@link RUNTIME_CONTENT_HASH_REQUIRES_RESOLVED_COMMAND}\n* when `exec.command` is still a pre-resolve draft (plain object), e.g. when\n* `contentHash` is called from `beforeExecute`.\n*\n* @internal\n*/\nfunction computeMongoContentHash(exec) {\n\tassertContentHashOnResolvedCommand(exec.command);\n\treturn hashContent(canonicalStringify({\n\t\tstorageHash: exec.meta.storageHash,\n\t\tcommand: { ...exec.command }\n\t}));\n}\n//#endregion\n//#region src/param-ref-mutator.ts\nfunction* flattenDraftSlot(value) {\n\tif (value instanceof MongoParamRef) {\n\t\tyield value;\n\t\treturn;\n\t}\n\tif (Array.isArray(value)) {\n\t\tfor (const item of value) yield* flattenDraftSlot(item);\n\t\treturn;\n\t}\n\tif (isPlainRecord(value)) for (const v of Object.values(value)) yield* flattenDraftSlot(v);\n}\n/**\n* Flat walk over a `MongoLoweredDraft` yielding every `MongoParamRef` leaf\n* regardless of nesting — object values, array elements, filter predicate\n* values, update operator values, and pipeline stage values. Raw command\n* variants carry no `MongoParamRef` nodes so they yield zero entries.\n*\n* **Walk parity:** slot traversal matches `resolveDraftSlot` / `resolveParams`\n* — refs appear only in plain-object and array containers; `Date` and other\n* non-plain objects are leaves (not descended into), so middleware sees every\n* ref the resolve pass will encode.\n*/\nfunction* flattenMongoParamRefs(draft) {\n\tswitch (draft.kind) {\n\t\tcase \"insertOne\":\n\t\tcase \"rawInsertOne\":\n\t\t\tyield* flattenDraftSlot(draft.document);\n\t\t\tbreak;\n\t\tcase \"insertMany\":\n\t\tcase \"rawInsertMany\":\n\t\t\tfor (const doc of draft.documents) yield* flattenDraftSlot(doc);\n\t\t\tbreak;\n\t\tcase \"updateOne\":\n\t\tcase \"updateMany\":\n\t\tcase \"rawUpdateOne\":\n\t\tcase \"rawUpdateMany\":\n\t\t\tyield* flattenDraftSlot(draft.filter);\n\t\t\tyield* flattenDraftSlot(draft.update);\n\t\t\tbreak;\n\t\tcase \"findOneAndUpdate\":\n\t\tcase \"rawFindOneAndUpdate\":\n\t\t\tyield* flattenDraftSlot(draft.filter);\n\t\t\tyield* flattenDraftSlot(draft.update);\n\t\t\tbreak;\n\t\tcase \"deleteOne\":\n\t\tcase \"deleteMany\":\n\t\tcase \"rawDeleteOne\":\n\t\tcase \"rawDeleteMany\":\n\t\t\tyield* flattenDraftSlot(draft.filter);\n\t\t\tbreak;\n\t\tcase \"findOneAndDelete\":\n\t\tcase \"rawFindOneAndDelete\":\n\t\t\tyield* flattenDraftSlot(draft.filter);\n\t\t\tbreak;\n\t\tcase \"aggregate\":\n\t\tcase \"rawAggregate\":\n\t\t\tfor (const stage of draft.pipeline) yield* flattenDraftSlot(stage);\n\t\t\tbreak;\n\t}\n}\nfunction substituteSlot(value, overrides) {\n\tif (value instanceof MongoParamRef) {\n\t\tif (overrides.has(value)) {\n\t\t\tconst opts = {};\n\t\t\tif (value.name !== void 0) opts.name = value.name;\n\t\t\tif (value.codecId !== void 0) opts.codecId = value.codecId;\n\t\t\treturn new MongoParamRef(overrides.get(value), opts);\n\t\t}\n\t\treturn value;\n\t}\n\tif (Array.isArray(value)) return value.map((item) => substituteSlot(item, overrides));\n\tif (isPlainRecord(value)) {\n\t\tconst out = {};\n\t\tfor (const [k, v] of Object.entries(value)) out[k] = substituteSlot(v, overrides);\n\t\treturn out;\n\t}\n\treturn value;\n}\nfunction substituteDoc(doc, overrides) {\n\treturn blindCast(substituteSlot(doc, overrides));\n}\nfunction isUpdatePipeline(update) {\n\treturn Array.isArray(update);\n}\nfunction substituteUpdate(update, overrides) {\n\tif (isUpdatePipeline(update)) return update.map((stage) => substituteDoc(stage, overrides));\n\treturn substituteDoc(update, overrides);\n}\nfunction buildMutatedDraft(draft, overrides) {\n\tswitch (draft.kind) {\n\t\tcase \"insertOne\": return {\n\t\t\tkind: \"insertOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tdocument: substituteDoc(draft.document, overrides)\n\t\t};\n\t\tcase \"rawInsertOne\": return {\n\t\t\tkind: \"rawInsertOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tdocument: substituteDoc(draft.document, overrides)\n\t\t};\n\t\tcase \"insertMany\": return {\n\t\t\tkind: \"insertMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tdocuments: draft.documents.map((d) => substituteDoc(d, overrides))\n\t\t};\n\t\tcase \"rawInsertMany\": return {\n\t\t\tkind: \"rawInsertMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tdocuments: draft.documents.map((d) => substituteDoc(d, overrides))\n\t\t};\n\t\tcase \"updateOne\": return {\n\t\t\tkind: \"updateOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides),\n\t\t\tupsert: draft.upsert\n\t\t};\n\t\tcase \"updateMany\": return {\n\t\t\tkind: \"updateMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides),\n\t\t\tupsert: draft.upsert\n\t\t};\n\t\tcase \"rawUpdateOne\": return {\n\t\t\tkind: \"rawUpdateOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides)\n\t\t};\n\t\tcase \"rawUpdateMany\": return {\n\t\t\tkind: \"rawUpdateMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides)\n\t\t};\n\t\tcase \"deleteOne\": return {\n\t\t\tkind: \"deleteOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides)\n\t\t};\n\t\tcase \"deleteMany\": return {\n\t\t\tkind: \"deleteMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides)\n\t\t};\n\t\tcase \"rawDeleteOne\": return {\n\t\t\tkind: \"rawDeleteOne\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides)\n\t\t};\n\t\tcase \"rawDeleteMany\": return {\n\t\t\tkind: \"rawDeleteMany\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides)\n\t\t};\n\t\tcase \"findOneAndUpdate\": return {\n\t\t\tkind: \"findOneAndUpdate\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides),\n\t\t\tupsert: draft.upsert,\n\t\t\tsort: draft.sort,\n\t\t\treturnDocument: draft.returnDocument\n\t\t};\n\t\tcase \"rawFindOneAndUpdate\": return {\n\t\t\tkind: \"rawFindOneAndUpdate\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tupdate: substituteUpdate(draft.update, overrides),\n\t\t\tupsert: draft.upsert,\n\t\t\tsort: draft.sort,\n\t\t\treturnDocument: draft.returnDocument\n\t\t};\n\t\tcase \"findOneAndDelete\": return {\n\t\t\tkind: \"findOneAndDelete\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tsort: draft.sort\n\t\t};\n\t\tcase \"rawFindOneAndDelete\": return {\n\t\t\tkind: \"rawFindOneAndDelete\",\n\t\t\tcollection: draft.collection,\n\t\t\tfilter: substituteDoc(draft.filter, overrides),\n\t\t\tsort: draft.sort\n\t\t};\n\t\tcase \"aggregate\": return {\n\t\t\tkind: \"aggregate\",\n\t\t\tcollection: draft.collection,\n\t\t\tpipeline: draft.pipeline.map((s) => substituteDoc(s, overrides))\n\t\t};\n\t\tcase \"rawAggregate\": return {\n\t\t\tkind: \"rawAggregate\",\n\t\t\tcollection: draft.collection,\n\t\t\tpipeline: draft.pipeline.map((s) => substituteDoc(s, overrides))\n\t\t};\n\t}\n}\n/**\n* Build a {@link MongoParamRefMutatorInternal} for the given lowered draft.\n*\n* The mutator captures the draft by reference and uses `flattenMongoParamRefs`\n* on demand to produce `entries()`. Replacements are stored in a lazily-\n* allocated `Map`; the fast path (no replacements) preserves bit-for-bit\n* reference identity to the original draft in `currentDraft()`.\n*/\nfunction createMongoParamRefMutator(draft) {\n\tconst originalDraft = draft;\n\tlet overrides;\n\tconst ensureOverrides = () => {\n\t\tif (!overrides) overrides = /* @__PURE__ */ new Map();\n\t\treturn overrides;\n\t};\n\tfunction* entries() {\n\t\tfor (const ref of flattenMongoParamRefs(originalDraft)) yield blindCast({\n\t\t\tref: blindCast(ref),\n\t\t\tvalue: overrides?.has(ref) ? overrides.get(ref) : ref.value,\n\t\t\tcodecId: ref.codecId\n\t\t});\n\t}\n\tfunction replaceValue(handle, newValue) {\n\t\tensureOverrides().set(blindCast(handle), newValue);\n\t}\n\tfunction replaceValues(updates) {\n\t\tconst map = ensureOverrides();\n\t\tfor (const { ref, newValue } of updates) map.set(blindCast(ref), newValue);\n\t}\n\treturn {\n\t\tentries,\n\t\treplaceValue: blindCast(replaceValue),\n\t\treplaceValues,\n\t\tcurrentDraft() {\n\t\t\tif (!overrides || overrides.size === 0) return originalDraft;\n\t\t\treturn buildMutatedDraft(originalDraft, overrides);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/mongo-runtime.ts\nfunction noop() {}\nfunction isUnknownRecord(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\nfunction statisticsCountField(commandKind) {\n\tswitch (commandKind) {\n\t\tcase \"updateOne\":\n\t\tcase \"updateMany\": return \"modifiedCount\";\n\t\tcase \"deleteOne\":\n\t\tcase \"deleteMany\": return \"deletedCount\";\n\t\tdefault: return;\n\t}\n}\nfunction invalidStatisticsResult(commandKind, countField) {\n\treturn runtimeError(\"RUNTIME.MONGO_STATISTICS_RESULT_INVALID\", `Mongo command '${commandKind}' did not return exactly one numeric '${countField}' result`, {\n\t\tcommandKind,\n\t\tcountField\n\t});\n}\nvar MongoRuntimeImpl = class extends RuntimeCore {\n\t#adapter;\n\t#driver;\n\t#codecs;\n\tconstructor(options) {\n\t\tconst middleware = options.middleware ? [...options.middleware] : [];\n\t\tconst targetId = options.context.stack.target.targetId;\n\t\tfor (const mw of middleware) checkMiddlewareCompatibility(mw, \"mongo\", targetId);\n\t\tconst ctx = {\n\t\t\tcontract: options.context.contract,\n\t\t\tmode: options.mode ?? \"strict\",\n\t\t\tnow: () => Date.now(),\n\t\t\tlog: {\n\t\t\t\tinfo: noop,\n\t\t\t\twarn: noop,\n\t\t\t\terror: noop\n\t\t\t},\n\t\t\tcontentHash: (exec) => computeMongoContentHash(blindCast(exec)),\n\t\t\tscope: \"runtime\",\n\t\t\tplanExecutionId: \"\"\n\t\t};\n\t\tsuper({\n\t\t\tmiddleware,\n\t\t\tctx\n\t\t});\n\t\tconst adapterInstance = options.context.stack.adapter.create(options.context.stack);\n\t\tthis.#adapter = adapterInstance;\n\t\tthis.#driver = options.driver;\n\t\tthis.#codecs = options.context.codecs;\n\t}\n\t/* v8 ignore start -- one-phase lower satisfies RuntimeCore; operations use the split preparation pipeline */\n\tasync lower(plan, ctx) {\n\t\treturn {\n\t\t\tcommand: await this.#adapter.lower(plan, ctx),\n\t\t\tmeta: plan.meta,\n\t\t\t...ifDefined(\"resultShape\", plan.resultShape)\n\t\t};\n\t}\n\t/* v8 ignore stop */\n\trunDriver(exec) {\n\t\treturn this.#driver.execute(exec.command);\n\t}\n\trunExecute(exec) {\n\t\treturn this.#readDriverStatistics(exec);\n\t}\n\tcreateQueryContexts(options) {\n\t\tconst signal = options?.signal;\n\t\treturn {\n\t\t\tcodecCtx: signal === void 0 ? {} : { signal },\n\t\t\tmiddlewareCtx: {\n\t\t\t\t...this.ctx,\n\t\t\t\t...ifDefined(\"signal\", signal),\n\t\t\t\tplanExecutionId: crypto.randomUUID()\n\t\t\t}\n\t\t};\n\t}\n\tprepareQueryExecution(plan, codecCtx, middlewareCtx) {\n\t\treturn this.prepareOperation(plan, codecCtx, middlewareCtx, runBeforeQueryChain);\n\t}\n\tprepareExecuteExecution(plan, codecCtx, middlewareCtx) {\n\t\treturn this.prepareOperation(plan, codecCtx, middlewareCtx, runBeforeExecuteChain);\n\t}\n\tasync prepareOperation(plan, codecCtx, middlewareCtx, runBefore) {\n\t\tcheckAborted(codecCtx, \"stream\");\n\t\tconst compiled = await this.runBeforeCompile(plan);\n\t\tconst draft = this.#adapter.structuralLower(compiled);\n\t\tconst mutator = createMongoParamRefMutator(draft);\n\t\tawait runBefore({\n\t\t\tmeta: compiled.meta,\n\t\t\t...ifDefined(\"resultShape\", compiled.resultShape),\n\t\t\tcommand: blindCast(draft)\n\t\t}, this.middleware, middlewareCtx, mutator);\n\t\treturn {\n\t\t\tmeta: compiled.meta,\n\t\t\t...ifDefined(\"resultShape\", compiled.resultShape),\n\t\t\tcommand: await this.#adapter.resolveParams(mutator.currentDraft(), codecCtx)\n\t\t};\n\t}\n\tquery(plan, options) {\n\t\tconst self = this;\n\t\tconst { codecCtx, middlewareCtx } = this.createQueryContexts(options);\n\t\tconst generator = async function* () {\n\t\t\tconst exec = await self.prepareQueryExecution(plan, codecCtx, middlewareCtx);\n\t\t\tconst stream = runQueryWithMiddleware(exec, self.middleware, middlewareCtx, () => self.runDriver(exec));\n\t\t\tfor await (const rawRow of stream) {\n\t\t\t\tcheckAborted(codecCtx, \"stream\");\n\t\t\t\tif (exec.resultShape === void 0) yield blindCast(rawRow);\n\t\t\t\telse yield blindCast(await decodeMongoRow(rawRow, exec.resultShape, self.#codecs, exec.command.collection, codecCtx));\n\t\t\t}\n\t\t};\n\t\treturn new AsyncIterableResult(generator());\n\t}\n\tasync execute(plan, options) {\n\t\tconst { codecCtx, middlewareCtx } = this.createQueryContexts(options);\n\t\tconst exec = await this.prepareExecuteExecution(plan, codecCtx, middlewareCtx);\n\t\tcheckAborted(codecCtx, \"stream\");\n\t\treturn runExecuteWithMiddleware(exec, this.middleware, middlewareCtx, () => this.runExecute(exec));\n\t}\n\tasync #readDriverStatistics(exec) {\n\t\tconst countField = statisticsCountField(exec.command.kind);\n\t\tif (countField === void 0) throw runtimeError(\"RUNTIME.MONGO_STATISTICS_UNSUPPORTED\", `Mongo command '${exec.command.kind}' does not expose statement statistics`, { commandKind: exec.command.kind });\n\t\tlet affectedRows;\n\t\tfor await (const result of this.#driver.execute(exec.command)) {\n\t\t\tif (affectedRows !== void 0 || !isUnknownRecord(result)) throw invalidStatisticsResult(exec.command.kind, countField);\n\t\t\tconst count = result[countField];\n\t\t\tif (typeof count !== \"number\") throw invalidStatisticsResult(exec.command.kind, countField);\n\t\t\taffectedRows = count;\n\t\t}\n\t\tif (affectedRows === void 0) throw invalidStatisticsResult(exec.command.kind, countField);\n\t\treturn { affectedRows };\n\t}\n\tasync close() {\n\t\tawait this.#driver.close();\n\t}\n};\nfunction createMongoRuntime(options) {\n\treturn new MongoRuntimeImpl(options);\n}\n//#endregion\nexport { createMongoExecutionContext, createMongoExecutionStack, createMongoParamRefMutator, createMongoRuntime, flattenMongoParamRefs };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/orm-family-mongo",
3
- "version": "8.0.0-rc.1-dev.41",
3
+ "version": "8.0.0-rc.1-dev.43",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -9,29 +9,29 @@
9
9
  "dist"
10
10
  ],
11
11
  "dependencies": {
12
- "@prisma/orm-framework": "8.0.0-rc.1-dev.41",
13
- "@prisma/orm-toolchain": "8.0.0-rc.1-dev.41",
12
+ "@prisma/orm-framework": "8.0.0-rc.1-dev.43",
13
+ "@prisma/orm-toolchain": "8.0.0-rc.1-dev.43",
14
14
  "arktype": "^2.2.2",
15
15
  "mongodb": "^7.4.0",
16
16
  "pathe": "^2.0.3"
17
17
  },
18
18
  "devDependencies": {
19
- "@internal/family-mongo": "8.0.0-rc.1-dev.41",
20
- "@internal/mongo-codec": "8.0.0-rc.1-dev.41",
21
- "@internal/mongo-contract": "8.0.0-rc.1-dev.41",
22
- "@internal/mongo-contract-psl": "8.0.0-rc.1-dev.41",
23
- "@internal/mongo-contract-ts": "8.0.0-rc.1-dev.41",
24
- "@internal/mongo-emitter": "8.0.0-rc.1-dev.41",
25
- "@internal/mongo-lowering": "8.0.0-rc.1-dev.41",
26
- "@internal/mongo-orm": "8.0.0-rc.1-dev.41",
27
- "@internal/mongo-query-ast": "8.0.0-rc.1-dev.41",
28
- "@internal/mongo-query-builder": "8.0.0-rc.1-dev.41",
29
- "@internal/mongo-runtime": "8.0.0-rc.1-dev.41",
30
- "@internal/mongo-schema-ir": "8.0.0-rc.1-dev.41",
31
- "@internal/mongo-value": "8.0.0-rc.1-dev.41",
32
- "@internal/mongo-wire": "8.0.0-rc.1-dev.41",
33
- "@repo/tsconfig": "8.0.0-rc.1-dev.41",
34
- "@repo/tsdown": "8.0.0-rc.1-dev.41",
19
+ "@internal/family-mongo": "8.0.0-rc.1-dev.43",
20
+ "@internal/mongo-codec": "8.0.0-rc.1-dev.43",
21
+ "@internal/mongo-contract": "8.0.0-rc.1-dev.43",
22
+ "@internal/mongo-contract-psl": "8.0.0-rc.1-dev.43",
23
+ "@internal/mongo-contract-ts": "8.0.0-rc.1-dev.43",
24
+ "@internal/mongo-emitter": "8.0.0-rc.1-dev.43",
25
+ "@internal/mongo-lowering": "8.0.0-rc.1-dev.43",
26
+ "@internal/mongo-orm": "8.0.0-rc.1-dev.43",
27
+ "@internal/mongo-query-ast": "8.0.0-rc.1-dev.43",
28
+ "@internal/mongo-query-builder": "8.0.0-rc.1-dev.43",
29
+ "@internal/mongo-runtime": "8.0.0-rc.1-dev.43",
30
+ "@internal/mongo-schema-ir": "8.0.0-rc.1-dev.43",
31
+ "@internal/mongo-value": "8.0.0-rc.1-dev.43",
32
+ "@internal/mongo-wire": "8.0.0-rc.1-dev.43",
33
+ "@repo/tsconfig": "8.0.0-rc.1-dev.43",
34
+ "@repo/tsdown": "8.0.0-rc.1-dev.43",
35
35
  "tsdown": "0.22.14",
36
36
  "typescript": "5.9.3"
37
37
  },