@forge-cms/runtime 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/auth-handlers.d.ts +43 -1
  2. package/dist/auth-handlers.d.ts.map +1 -1
  3. package/dist/auth-handlers.js +64 -18
  4. package/dist/auth-handlers.js.map +1 -1
  5. package/dist/auth-managed.d.ts +19 -0
  6. package/dist/auth-managed.d.ts.map +1 -0
  7. package/dist/auth-managed.js +24 -0
  8. package/dist/auth-managed.js.map +1 -0
  9. package/dist/body.d.ts +28 -0
  10. package/dist/body.d.ts.map +1 -0
  11. package/dist/body.js +81 -0
  12. package/dist/body.js.map +1 -0
  13. package/dist/concurrency.d.ts +8 -0
  14. package/dist/concurrency.d.ts.map +1 -0
  15. package/dist/concurrency.js +15 -0
  16. package/dist/concurrency.js.map +1 -0
  17. package/dist/context.d.ts +5 -0
  18. package/dist/context.d.ts.map +1 -1
  19. package/dist/errors.d.ts +46 -1
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +61 -0
  22. package/dist/errors.js.map +1 -1
  23. package/dist/files.d.ts +15 -1
  24. package/dist/files.d.ts.map +1 -1
  25. package/dist/files.js +55 -14
  26. package/dist/files.js.map +1 -1
  27. package/dist/globals.d.ts +21 -3
  28. package/dist/globals.d.ts.map +1 -1
  29. package/dist/globals.js +216 -28
  30. package/dist/globals.js.map +1 -1
  31. package/dist/handlers.d.ts +3 -2
  32. package/dist/handlers.d.ts.map +1 -1
  33. package/dist/handlers.js +51 -49
  34. package/dist/handlers.js.map +1 -1
  35. package/dist/index.d.ts +5 -2
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +6 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/localization.d.ts +17 -0
  40. package/dist/localization.d.ts.map +1 -1
  41. package/dist/localization.js +56 -0
  42. package/dist/localization.js.map +1 -1
  43. package/dist/operations.d.ts +51 -12
  44. package/dist/operations.d.ts.map +1 -1
  45. package/dist/operations.js +728 -125
  46. package/dist/operations.js.map +1 -1
  47. package/dist/relation-integrity.d.ts +31 -13
  48. package/dist/relation-integrity.d.ts.map +1 -1
  49. package/dist/relation-integrity.js +62 -6
  50. package/dist/relation-integrity.js.map +1 -1
  51. package/dist/relation-lifecycle.d.ts +95 -0
  52. package/dist/relation-lifecycle.d.ts.map +1 -0
  53. package/dist/relation-lifecycle.js +424 -0
  54. package/dist/relation-lifecycle.js.map +1 -0
  55. package/dist/runtime.d.ts +21 -0
  56. package/dist/runtime.d.ts.map +1 -1
  57. package/dist/runtime.js +112 -20
  58. package/dist/runtime.js.map +1 -1
  59. package/dist/storage-intents.d.ts +96 -0
  60. package/dist/storage-intents.d.ts.map +1 -0
  61. package/dist/storage-intents.js +217 -0
  62. package/dist/storage-intents.js.map +1 -0
  63. package/dist/system-fields.d.ts +27 -0
  64. package/dist/system-fields.d.ts.map +1 -0
  65. package/dist/system-fields.js +74 -0
  66. package/dist/system-fields.js.map +1 -0
  67. package/dist/versions.d.ts +73 -1
  68. package/dist/versions.d.ts.map +1 -1
  69. package/dist/versions.js +204 -17
  70. package/dist/versions.js.map +1 -1
  71. package/package.json +9 -7
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGhE,OAAO,EAAE,uBAAuB,IAAI,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAErF,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAkFjC,SAAS,oBAAoB,CAAC,GAAqB,EAAE,IAAY;IAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,aAAa,CAAC,eAAe,IAAI,aAAa,CAAC,CAAC;IAC3E,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,EAAU;IACxC,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE,mBAAmB,IAAI,GAAG,CAAC,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,QAAQ,CAAI,UAAkB,EAAE,EAAoB;IACjE,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,yBAAyB,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,qBAAqB,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5F,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAI,KAAuB,EAAE,KAAa;IACzE,IAAI,CAAC;QACH,OAAO,MAAM,KAAK,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,UAAU;YAAE,MAAM,GAAG,CAAC;QACzC,MAAM,IAAI,iBAAiB,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAgC,EAAE,IAA6B;IACxF,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO;IACrE,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QAC7D,MAAM,IAAI,iBAAiB,CACzB,mBAAmB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAC5E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,KAAK,UAAU,cAAc,CAC3B,GAAqB,EACrB,UAAgC,EAChC,OAAyB,EACzB,IAAyF;IAEzF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IACrD,IAAI,IAAI,GAAG,OAAO,CAAC;IAEnB,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACrB,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QAClC,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,kDAAkD;IAClD,IAAI,IAAI,CAAC,MAAM,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;QACrD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,wBAAwB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CACtB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE;YAClE,IAAI,EAAE,GAAG;YACT,SAAS,EAAE,MAAM;YACjB,IAAI;YACJ,cAAc;SACf,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,UAAgC,EAChC,IAKC,EACD,aAAkC;IAElC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IAErD,mGAAmG;IACnG,sFAAsF;IACtF,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAE7D,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnD,KAAK,GAAG,UAAU,CAChB,KAAK,EACL,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,aAAa,CAAC,CAC9F,CAAC;IACF,oGAAoG;IACpG,4FAA4F;IAC5F,+FAA+F;IAC/F,uBAAuB;IACvB,KAAK,GAAG,CAAC,MAAM,kBAAkB,CAAC,UAAU,EAAE;QAC5C,IAAI;QACJ,cAAc;QACd,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAgB;KACpC,CAAC,CAAkB,CAAC;IAErB,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,GAAqB,EAAE,IAAc;IAC9D,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IAErD,MAAM,uBAAuB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACvF,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG;QAClB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACtD,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACzD,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;KACvD,CAAC;IAEF,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC3C,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC;KACpD,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAEvE,MAAM,sBAAsB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAqB,EACrB,IAAiB;IAEjB,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IAErD,MAAM,uBAAuB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACvF,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG;QAClB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,CAAC;QACR,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;KACvD,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAE/B,MAAM,sBAAsB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CACf,IAAsB,EACtB,SAAiB,EACjB,KAAyB,EACzB,MAAc;IAEd,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnF,OAAO;QACL,IAAI;QACJ,SAAS;QACT,KAAK;QACL,MAAM;QACN,IAAI;QACJ,UAAU;QACV,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS;QAC7C,WAAW,EAAE,MAAM,GAAG,CAAC;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAqB,EACrB,IAAqD;IAErD,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IAErD,MAAM,uBAAuB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAEvF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEjF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM;QAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEtD,uFAAuF;IACvF,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAC7B,UAAU,EACV,IAAI,CAAC,MAAM,EACX,IAAI,EACJ,IAAI,CAAC,cAAc,KAAK,KAAK,EAC7B,KAAK,CACN,CAAC;IACF,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;IAE7B,MAAM,sBAAsB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAqB,EAAE,IAAe;IAChE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IAErD,MAAM,uBAAuB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAEvF,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACzE,MAAM,sBAAsB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAqB,EAAE,IAAgB;IAClE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IAErD,MAAM,uBAAuB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACzF,MAAM,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtE,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB;gBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9E,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,gGAAgG;IAChG,iDAAiD;IACjD,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAErF,oEAAoE;IACpE,MAAM,aAAa,GACjB,qBAAqB,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM;QAC9C,CAAC,CAAC,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;QACzD,CAAC,CAAC,MAAM,CAAC;IAEb,IAAI,IAAI,GAAG,MAAM,kBAAkB,CACjC,KAAK,IAAI,EAAE,CACT,sBAAsB,CAAC,UAAU,EAAE;QACjC,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,MAAM,aAAa,CAAC,UAAU,EAAE,gBAAgB,EAAE;YACtD,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,QAAQ;YACnB,IAAI;YACJ,cAAc;SACf,CAAC;QACF,IAAI;QACJ,cAAc;KACf,CAAC,EACJ,qBAAqB,CACtB,CAAC;IAEF,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC7D,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,KAAK;QAAE,MAAM,IAAI,qBAAqB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1E,IAAI,GAAG,MAAM,kBAAkB,CAC7B,KAAK,IAAI,EAAE,CACT,oBAAoB,CAAC,UAAU,EAAE;QAC/B,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,MAAM,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE;YACpD,IAAI;YACJ,SAAS,EAAE,QAAQ;YACnB,IAAI;YACJ,cAAc;SACf,CAAC;QACF,IAAI;QACJ,cAAc;KACf,CAAC,EACJ,mBAAmB,CACpB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAClD,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CACpD,CAAC;IAEF,iDAAiD;IACjD,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,CAAC,GAAG,EAAE;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,MAAM,CAAC,EAAY;YAC/B,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,MAAM,mBAAmB,CAAC,UAAU,EAAE;QACpC,SAAS,EAAE,QAAQ;QACnB,IAAI;QACJ,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,MAAM;QACX,IAAI;QACJ,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;IAE7B,MAAM,sBAAsB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAqB,EAAE,IAAgB;IAClE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IAErD,MAAM,uBAAuB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAEzF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,IAAI,CAAC,QAAQ;QAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE;QACvD,GAAG,IAAI;QACP,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,QAAQ;KACd,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,iBAAiB,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB;gBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9E,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,MAAM,aAAa,GACjB,qBAAqB,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM;QAC9C,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QACtE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAEhB,IAAI,IAAI,GAAG,MAAM,kBAAkB,CACjC,KAAK,IAAI,EAAE,CACT,sBAAsB,CAAC,UAAU,EAAE;QACjC,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,MAAM,aAAa,CAAC,UAAU,EAAE,gBAAgB,EAAE;YACtD,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,CAAC;YACzD,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,QAAQ;YACnB,IAAI;YACJ,cAAc;SACf,CAAC;QACF,YAAY,EAAE,QAAQ;QACtB,IAAI;QACJ,cAAc;KACf,CAAC,EACJ,qBAAqB,CACtB,CAAC;IAEF,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAEpC,+FAA+F;IAC/F,kGAAkG;IAClG,mCAAmC;IACnC,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;YAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,GAAG,MAAM,kBAAkB,CAC7B,KAAK,IAAI,EAAE,CACT,oBAAoB,CAAC,UAAU,EAAE;QAC/B,SAAS,EAAE,QAAQ;QACnB,IAAI,EAAE,MAAM,aAAa,CAAC,UAAU,EAAE,cAAc,EAAE;YACpD,IAAI;YACJ,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,QAAQ;YACnB,IAAI;YACJ,cAAc;SACf,CAAC;QACF,YAAY,EAAE,QAAQ;QACtB,IAAI;QACJ,cAAc;KACf,CAAC,EACJ,mBAAmB,CACpB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAClD,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAC7D,CAAC;IAEF,oDAAoD;IACpD,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,CAAC,GAAG,EAAE;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,IAAI;YACJ,IAAI;YACJ,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;SACrE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,mBAAmB,CAAC,UAAU,EAAE;QACpC,SAAS,EAAE,QAAQ;QACnB,IAAI;QACJ,YAAY,EAAE,QAAQ;QACtB,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,MAAM;QACX,IAAI;QACJ,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;IAE7B,MAAM,sBAAsB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAqB,EACrB,IAAwB;IAExB,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,UAAU,kCAAkC,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE;QACpC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,GAAG,EAAE;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,EAAE,EAAE,OAAO,CAAC,UAAU;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;QACjF,YAAY,EAAE,yBAAyB,OAAO,CAAC,aAAa,EAAE;KAC/D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,cAAsB,EAAE,GAAmB;IACpE,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC;IACnC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAE/E,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,MAAM,GAAG,GAAG,gBAAgB,GAAG,cAAc,GAAG,CAAC;IACvD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAqB,EACrB,IAAgB;IAEhB,OAAO,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,sBAAsB,CACnC,GAAqB,EACrB,IAAgB,EAChB,OAAoB;IAEpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IAErD,MAAM,uBAAuB,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IAEzF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAChF,IAAI,CAAC,QAAQ;QAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE;QACvD,GAAG,IAAI;QACP,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,GAAG,EAAE,QAAQ;KACd,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,iBAAiB,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,kBAAkB,CACtB,GAAG,EAAE,CAAC,oBAAoB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAC5F,mBAAmB,CACpB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEjB,6FAA6F;IAC7F,oBAAoB;IACpB,MAAM,uBAAuB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAExD,iFAAiF;IACjF,kGAAkG;IAClG,qGAAqG;IACrG,qGAAqG;IACrG,+FAA+F;IAC/F,kFAAkF;IAClF,MAAM,OAAO,GAAoB;QAC/B,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC;QAC3F,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;KAC3D,CAAC;IACF,MAAM,gBAAgB,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC9E,MAAM,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACtE,MAAM,qBAAqB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAExE,0FAA0F;IAC1F,gGAAgG;IAChG,uFAAuF;IACvF,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAE7D,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,wFAAwF;gBACxF,4EAA4E;gBAC5E,SAAS,EAAE,CAAC,KAAK,CACf,sCAAsC,UAAU,2BAA2B,EAC3E,UAAU,CACX,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE5F,MAAM,sBAAsB,CAAC,UAAU,EAAE;QACvC,SAAS,EAAE,QAAQ;QACnB,IAAI;QACJ,cAAc;QACd,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAOD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAqB,EAAE,IAAiB;IACpE,MAAM,UAAU,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;IAE/B,IAAI,QAAQ,GAA0B,IAAI,CAAC;IAC3C,IAAI,WAAoC,CAAC;IAEzC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QACZ,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ;YAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE;YACvD,IAAI;YACJ,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YACjF,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,QAAQ;SACd,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,gGAAgG;QAChG,+FAA+F;QAC/F,iFAAiF;QACjF,MAAM,WAAW,GAAG,gBAAgB,CAClC,UAAU,EACV,SAAS,EACT,IAAI,EACJ,IAAI,CAAC,cAAc,KAAK,KAAK,EAC7B,KAAK,CACN,CAAC;QACF,IAAI,WAAW,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;YAC3D,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,gBAAgB;oBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9E,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,WAAW,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,CAAC,UAAU,EAAE,QAAQ,EAAE;YACtC,IAAI;YACJ,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YACjF,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,gBAAgB;oBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9E,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QAED,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,WAAW,GAAG,cAAc,CAC1B,UAAU,EACV,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,EAC3C,QAAQ,IAAI,SAAS,CACtB,CAAC;IAEF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACjC,WAAW,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE;YAC/D,IAAI;YACJ,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;SAClF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QAClC,WAAW,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
@@ -2,19 +2,15 @@ import type { CmsUser, CollectionDefinition, RelationFieldOptions } from '@forge
2
2
  import type { DatabaseRecord } from '@forge-cms/db';
3
3
  import type { OperationContext } from './context.js';
4
4
  /**
5
- * Relation integrity utilities for handling cascade, restrict, and set-null on delete.
5
+ * Low-level relation integrity helpers (restrict / cascade / set-null on delete), kept as public
6
+ * `@forge-cms/runtime` exports.
6
7
  *
7
- * Spec 058 §5 hardening: dependent mutations (cascade delete, set-null update) now route through a
8
- * caller-supplied {@link RelationMutator} — structurally typed here so this module never imports
9
- * `operations.ts` (which imports *this* module for `checkDeleteRestrictions`/etc.; a two-way import
10
- * would be a cycle). `operations.ts`'s `deleteDocument` supplies a real mutator backed by its own
11
- * `deleteDocument`/`update` functions, so a cascade/set-null gets the full pipeline (access, field-
12
- * write checks, validation, hooks, version snapshots, and — for cascade — recursive relation-integrity
13
- * on each dependent document) instead of a raw, unchecked adapter write. A caller that does not supply
14
- * a mutator (every pre-058 direct caller of these exported functions, including this package's own
15
- * unit tests) gets the previous raw-adapter-write behavior unchanged — these functions remain usable as
16
- * low-level primitives, they just don't recurse in that mode (matching their pre-058 one-level-only
17
- * behavior, documented explicitly rather than silently changed).
8
+ * **Since spec 064 `runtime.delete()` does not use the mutating helpers here.** It plans the whole
9
+ * cascade/set-null/restrict graph with reads only and commits it as one atomic batch
10
+ * (`relation-lifecycle.ts` + `operations.ts`). `handleCascadeDelete`/`handleSetNullOnDelete` still work as
11
+ * before (spec 058: through a caller-supplied {@link RelationMutator}, or raw adapter writes without one),
12
+ * but each of their writes commits on its own — a later failure leaves earlier ones in place, and a
13
+ * reference created concurrently is not detected. Use `runtime.delete()` for guarantees.
18
14
  */
19
15
  export interface RelationMutator {
20
16
  deleteDocument(args: {
@@ -64,14 +60,30 @@ export declare function findRelationFields(collection: CollectionDefinition, tar
64
60
  */
65
61
  export declare function findReferencingDocuments(ctx: OperationContext, collection: CollectionDefinition, fieldName: string, documentId: string, many: boolean): Promise<DatabaseRecord[]>;
66
62
  /**
63
+ * @deprecated Since spec 064 `runtime.delete()` checks restrictions against the final state of its
64
+ * whole plan, inside one atomic batch; this one-level, read-only pre-check remains for direct callers.
65
+ *
67
66
  * Checks if a document can be deleted based on relation constraints. Throws {@link InvalidInputError}
68
67
  * — before any mutation happens — if deletion is restricted, or if a `set-null` relation targets a
69
68
  * `required: true` field that has live references: a null value can never satisfy a required field, so
70
69
  * this is treated the same as `restrict` rather than failing deep inside a partially-completed cascade
71
70
  * with a generic validation error (spec 058 §5's required-field-on-set-null guard).
71
+ *
72
+ * The same applies to a `cascade`/`set-null` relation whose dependent collection is managed by the
73
+ * auth adapter (spec 061): the cascade would be a generic write into that collection, which the runtime
74
+ * refuses for everyone, so it is rejected here — before any mutation, with a message about the document
75
+ * being deleted rather than about the managed collection — instead of failing part-way through.
76
+ *
77
+ * There is deliberately no supported way to clear the reference and retry: the auth adapter's own
78
+ * `updateUser` only accepts email/name/role/password, not an arbitrary custom field, so this rejection
79
+ * is not "remove the reference, then delete" advice — see the error message, and spec 061 §7/Non-goals.
80
+ * The only way past it is the documented raw `DatabaseAdapter` escape hatch (outside runtime guarantees).
72
81
  */
73
82
  export declare function checkDeleteRestrictions(ctx: OperationContext, targetCollection: CollectionDefinition, documentId: string): Promise<void>;
74
83
  /**
84
+ * @deprecated Not atomic — each dependent delete commits on its own. `runtime.delete()` (spec 064)
85
+ * commits the whole cascade graph in one batch and no longer calls this.
86
+ *
75
87
  * Handles cascade delete: deletes all documents that reference the deleted document. With a real
76
88
  * mutator supplied, each dependent delete recurses through the full delete pipeline (its own
77
89
  * `checkDeleteRestrictions`/cascade/set-null included) — so a cascade chain several levels deep is
@@ -82,6 +94,9 @@ export declare function checkDeleteRestrictions(ctx: OperationContext, targetCol
82
94
  */
83
95
  export declare function handleCascadeDelete(ctx: OperationContext, targetCollection: CollectionDefinition, documentId: string, integrityOptions?: RelationIntegrityOptions): Promise<void>;
84
96
  /**
97
+ * @deprecated Not atomic — each update commits on its own. `runtime.delete()` (spec 064) commits its
98
+ * set-null updates in the same batch as the delete and no longer calls this.
99
+ *
85
100
  * Handles set-null: sets relation fields to null (or removes the id from a many-relation array) in
86
101
  * all referencing documents. Skips a document already processed elsewhere in this same delete
87
102
  * operation (cascade-deleted, or already set-null'd via another field/path) via the shared `visited`
@@ -90,7 +105,10 @@ export declare function handleCascadeDelete(ctx: OperationContext, targetCollect
90
105
  */
91
106
  export declare function handleSetNullOnDelete(ctx: OperationContext, targetCollection: CollectionDefinition, documentId: string, integrityOptions?: RelationIntegrityOptions): Promise<void>;
92
107
  /**
93
- * Finds orphaned documents: documents with relation fields pointing to non-existent documents.
108
+ * Finds orphaned documents: documents whose top-level `relation` or `upload` field points at a document
109
+ * that does not exist. Diagnostic only — nothing is repaired. Since spec 064 a successfully committed
110
+ * supported write or delete cannot create one; orphans found here predate it, or were written through
111
+ * the raw `DatabaseAdapter` or the auth adapter's user lifecycle.
94
112
  */
95
113
  export declare function findOrphanedDocuments(ctx: OperationContext, collection: CollectionDefinition): Promise<Array<{
96
114
  document: DatabaseRecord;
@@ -1 +1 @@
1
- {"version":3,"file":"relation-integrity.d.ts","sourceRoot":"","sources":["../src/relation-integrity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,IAAI,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,MAAM,CAAC,IAAI,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kFAAkF;IAClF,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AASD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,oBAAoB,EAChC,gBAAgB,EAAE,MAAM,GACvB,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,CAAC,CAa7D;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,gBAAgB,EACrB,UAAU,EAAE,oBAAoB,EAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,cAAc,EAAE,CAAC,CAW3B;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,gBAAgB,EACrB,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,gBAAgB,EACrB,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,MAAM,EAClB,gBAAgB,GAAE,wBAA6B,GAC9C,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,gBAAgB,EACrB,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,MAAM,EAClB,gBAAgB,GAAE,wBAA6B,GAC9C,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,gBAAgB,EACrB,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,KAAK,CAAC;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAkCpF"}
1
+ {"version":3,"file":"relation-integrity.d.ts","sourceRoot":"","sources":["../src/relation-integrity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKrD;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,IAAI,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,MAAM,CAAC,IAAI,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kFAAkF;IAClF,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAiCD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,oBAAoB,EAChC,gBAAgB,EAAE,MAAM,GACvB,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,CAAC,CAa7D;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,gBAAgB,EACrB,UAAU,EAAE,oBAAoB,EAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,cAAc,EAAE,CAAC,CAW3B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,gBAAgB,EACrB,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,gBAAgB,EACrB,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,MAAM,EAClB,gBAAgB,GAAE,wBAA6B,GAC9C,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,gBAAgB,EACrB,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,MAAM,EAClB,gBAAgB,GAAE,wBAA6B,GAC9C,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,gBAAgB,EACrB,UAAU,EAAE,oBAAoB,GAC/B,OAAO,CAAC,KAAK,CAAC;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAmCpF"}
@@ -1,8 +1,32 @@
1
+ import { assertNotAuthManaged, isAuthManagedCollection } from './auth-managed.js';
1
2
  import { InvalidInputError } from './errors.js';
3
+ import { versionsEnabled } from './versions.js';
4
+ /**
5
+ * The raw-adapter fallback used when a caller invokes `handleCascadeDelete`/`handleSetNullOnDelete`
6
+ * directly, without a `mutator` — a low-level primitive, but still a `@forge-cms/runtime` public export,
7
+ * not the raw `DatabaseAdapter` escape hatch itself. The boundary (spec 061) applies here too: it would
8
+ * otherwise be a second, undocumented generic-write path into a managed collection, reachable without
9
+ * ever going through `operations.ts`. `operations.ts`'s own `deleteDocumentInternal` always supplies a
10
+ * real mutator (backed by its own `deleteDocumentInternal`/`update`, already guarded), so this only
11
+ * changes behavior for a caller using the raw fallback on purpose.
12
+ */
2
13
  function defaultMutator(ctx) {
3
14
  return {
4
- deleteDocument: (args) => ctx.adapters.database.delete(args.collection, args.id),
5
- update: (args) => ctx.adapters.database.update(args.collection, args.id, args.data)
15
+ deleteDocument: (args) => {
16
+ assertNotAuthManaged(ctx, args.collection);
17
+ return ctx.adapters.database.delete(args.collection, args.id);
18
+ },
19
+ update: (args) => {
20
+ assertNotAuthManaged(ctx, args.collection);
21
+ // A raw write to a versioned document would commit a change with no version row, silently
22
+ // breaking the version-number serialization every versioned update relies on (spec 062 §3).
23
+ const target = ctx.getCollection(args.collection);
24
+ if (target && versionsEnabled(target)) {
25
+ throw new Error(`Collection '${args.collection}' has versions enabled; pass a mutator backed by the runtime's ` +
26
+ `update() so the change and its version snapshot are written together (spec 062).`);
27
+ }
28
+ return ctx.adapters.database.update(args.collection, args.id, args.data);
29
+ }
6
30
  };
7
31
  }
8
32
  /**
@@ -40,11 +64,24 @@ export async function findReferencingDocuments(ctx, collection, fieldName, docum
40
64
  });
41
65
  }
42
66
  /**
67
+ * @deprecated Since spec 064 `runtime.delete()` checks restrictions against the final state of its
68
+ * whole plan, inside one atomic batch; this one-level, read-only pre-check remains for direct callers.
69
+ *
43
70
  * Checks if a document can be deleted based on relation constraints. Throws {@link InvalidInputError}
44
71
  * — before any mutation happens — if deletion is restricted, or if a `set-null` relation targets a
45
72
  * `required: true` field that has live references: a null value can never satisfy a required field, so
46
73
  * this is treated the same as `restrict` rather than failing deep inside a partially-completed cascade
47
74
  * with a generic validation error (spec 058 §5's required-field-on-set-null guard).
75
+ *
76
+ * The same applies to a `cascade`/`set-null` relation whose dependent collection is managed by the
77
+ * auth adapter (spec 061): the cascade would be a generic write into that collection, which the runtime
78
+ * refuses for everyone, so it is rejected here — before any mutation, with a message about the document
79
+ * being deleted rather than about the managed collection — instead of failing part-way through.
80
+ *
81
+ * There is deliberately no supported way to clear the reference and retry: the auth adapter's own
82
+ * `updateUser` only accepts email/name/role/password, not an arbitrary custom field, so this rejection
83
+ * is not "remove the reference, then delete" advice — see the error message, and spec 061 §7/Non-goals.
84
+ * The only way past it is the documented raw `DatabaseAdapter` escape hatch (outside runtime guarantees).
48
85
  */
49
86
  export async function checkDeleteRestrictions(ctx, targetCollection, documentId) {
50
87
  for (const collection of ctx.getCollections()) {
@@ -52,11 +89,20 @@ export async function checkDeleteRestrictions(ctx, targetCollection, documentId)
52
89
  for (const { fieldName, options } of relations) {
53
90
  const onDelete = options.onDelete ?? 'restrict';
54
91
  const unsafeRequiredSetNull = onDelete === 'set-null' && options.required === true;
55
- if (onDelete !== 'restrict' && !unsafeRequiredSetNull)
92
+ const authManagedDependent = onDelete !== 'restrict' && isAuthManagedCollection(ctx, collection.slug);
93
+ if (onDelete !== 'restrict' && !unsafeRequiredSetNull && !authManagedDependent)
56
94
  continue;
57
95
  const referencing = await findReferencingDocuments(ctx, collection, fieldName, documentId, options.many ?? false);
58
96
  if (referencing.length === 0)
59
97
  continue;
98
+ if (authManagedDependent) {
99
+ throw new InvalidInputError(`Cannot delete document '${documentId}' from '${targetCollection.slug}': ` +
100
+ `${referencing.length} document(s) in '${collection.slug}' reference it with ` +
101
+ `onDelete '${onDelete}', but '${collection.slug}' is managed by the configured auth adapter, ` +
102
+ `so a relation cascade cannot change it. Clearing the reference on those document(s) is not ` +
103
+ `possible through generic collection CRUD or the auth adapter's user-management operations; ` +
104
+ `it requires direct database access, which is outside runtime guarantees`);
105
+ }
60
106
  if (unsafeRequiredSetNull) {
61
107
  throw new InvalidInputError(`Cannot delete document '${documentId}' from '${targetCollection.slug}': field '${fieldName}' ` +
62
108
  `on '${collection.slug}' is required and configured 'onDelete: set-null', which cannot ` +
@@ -68,6 +114,9 @@ export async function checkDeleteRestrictions(ctx, targetCollection, documentId)
68
114
  }
69
115
  }
70
116
  /**
117
+ * @deprecated Not atomic — each dependent delete commits on its own. `runtime.delete()` (spec 064)
118
+ * commits the whole cascade graph in one batch and no longer calls this.
119
+ *
71
120
  * Handles cascade delete: deletes all documents that reference the deleted document. With a real
72
121
  * mutator supplied, each dependent delete recurses through the full delete pipeline (its own
73
122
  * `checkDeleteRestrictions`/cascade/set-null included) — so a cascade chain several levels deep is
@@ -105,6 +154,9 @@ export async function handleCascadeDelete(ctx, targetCollection, documentId, int
105
154
  }
106
155
  }
107
156
  /**
157
+ * @deprecated Not atomic — each update commits on its own. `runtime.delete()` (spec 064) commits its
158
+ * set-null updates in the same batch as the delete and no longer calls this.
159
+ *
108
160
  * Handles set-null: sets relation fields to null (or removes the id from a many-relation array) in
109
161
  * all referencing documents. Skips a document already processed elsewhere in this same delete
110
162
  * operation (cascade-deleted, or already set-null'd via another field/path) via the shared `visited`
@@ -142,19 +194,23 @@ export async function handleSetNullOnDelete(ctx, targetCollection, documentId, i
142
194
  }
143
195
  }
144
196
  /**
145
- * Finds orphaned documents: documents with relation fields pointing to non-existent documents.
197
+ * Finds orphaned documents: documents whose top-level `relation` or `upload` field points at a document
198
+ * that does not exist. Diagnostic only — nothing is repaired. Since spec 064 a successfully committed
199
+ * supported write or delete cannot create one; orphans found here predate it, or were written through
200
+ * the raw `DatabaseAdapter` or the auth adapter's user lifecycle.
146
201
  */
147
202
  export async function findOrphanedDocuments(ctx, collection) {
148
203
  const orphans = [];
149
204
  const allDocs = await ctx.adapters.database.findMany({ collection: collection.slug });
150
205
  for (const [fieldName, field] of Object.entries(collection.fields)) {
151
- if (field.kind !== 'relation')
206
+ if (field.kind !== 'relation' && field.kind !== 'upload')
152
207
  continue;
153
208
  const options = field.options;
154
209
  const targetCollection = options.collection;
210
+ const many = field.kind === 'relation' && options.many === true;
155
211
  for (const doc of allDocs) {
156
212
  const value = doc[fieldName];
157
- if (options.many && Array.isArray(value)) {
213
+ if (many && Array.isArray(value)) {
158
214
  // Check each ID in the array
159
215
  for (const id of value) {
160
216
  if (typeof id === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"relation-integrity.js","sourceRoot":"","sources":["../src/relation-integrity.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAoDhD,SAAS,cAAc,CAAC,GAAqB;IAC3C,OAAO;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;QAChF,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;KACpF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAgC,EAChC,gBAAwB;IAExB,MAAM,SAAS,GAAgE,EAAE,CAAC;IAElF,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAA+B,CAAC;YACtD,IAAI,OAAO,CAAC,UAAU,KAAK,gBAAgB,EAAE,CAAC;gBAC5C,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAqB,EACrB,UAAgC,EAChC,SAAiB,EACjB,UAAkB,EAClB,IAAa;IAEb,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACpC,UAAU,EAAE,UAAU,CAAC,IAAI;YAC3B,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE;SACtD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,UAAU,EAAE,UAAU,CAAC,IAAI;QAC3B,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE;KACnC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,GAAqB,EACrB,gBAAsC,EACtC,UAAkB;IAElB,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAExE,KAAK,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,SAAS,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC;YAChD,MAAM,qBAAqB,GAAG,QAAQ,KAAK,UAAU,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC;YACnF,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,qBAAqB;gBAAE,SAAS;YAEhE,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAChD,GAAG,EACH,UAAU,EACV,SAAS,EACT,UAAU,EACV,OAAO,CAAC,IAAI,IAAI,KAAK,CACtB,CAAC;YAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEvC,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,MAAM,IAAI,iBAAiB,CACzB,2BAA2B,UAAU,WAAW,gBAAgB,CAAC,IAAI,aAAa,SAAS,IAAI;oBAC7F,OAAO,UAAU,CAAC,IAAI,kEAAkE;oBACxF,WAAW,WAAW,CAAC,MAAM,6DAA6D,CAC7F,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,iBAAiB,CACzB,2BAA2B,UAAU,WAAW,gBAAgB,CAAC,IAAI,KAAK;gBACxE,iBAAiB,WAAW,CAAC,MAAM,oBAAoB,UAAU,CAAC,IAAI,GAAG,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAqB,EACrB,gBAAsC,EACtC,UAAkB,EAClB,mBAA6C,EAAE;IAE/C,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,IAAI,IAAI,GAAG,EAAU,CAAC;IAC9D,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC;IAE3C,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAExE,KAAK,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,SAAS,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC;YAChD,IAAI,QAAQ,KAAK,SAAS;gBAAE,SAAS;YAErC,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAChD,GAAG,EACH,UAAU,EACV,SAAS,EACT,UAAU,EACV,OAAO,CAAC,IAAI,IAAI,KAAK,CACtB,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,EAAY,EAAE,CAAC;gBACrD,2FAA2F;gBAC3F,gCAAgC;gBAChC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEjB,MAAM,OAAO,CAAC,cAAc,CAAC;oBAC3B,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,EAAE,EAAE,GAAG,CAAC,EAAY;oBACpB,cAAc,EAAE,IAAI;oBACpB,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAqB,EACrB,gBAAsC,EACtC,UAAkB,EAClB,mBAA6C,EAAE;IAE/C,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,IAAI,IAAI,GAAG,EAAU,CAAC;IAC9D,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC;IAE3C,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAExE,KAAK,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,SAAS,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC;YAChD,IAAI,QAAQ,KAAK,UAAU;gBAAE,SAAS;YAEtC,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAChD,GAAG,EACH,UAAU,EACV,SAAS,EACT,UAAU,EACV,OAAO,CAAC,IAAI,IAAI,KAAK,CACtB,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,EAAY,EAAE,CAAC;gBACrD,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEjB,MAAM,QAAQ,GAAY,OAAO,CAAC,IAAI;oBACpC,CAAC,CAAC,CAAE,GAAG,CAAC,SAAS,CAA0B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC;oBACpF,CAAC,CAAC,IAAI,CAAC;gBAET,MAAM,OAAO,CAAC,MAAM,CAAC;oBACnB,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,EAAE,EAAE,GAAG,CAAC,EAAY;oBACpB,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE;oBAC/B,cAAc,EAAE,IAAI;oBACpB,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;iBAC/B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAqB,EACrB,UAAgC;IAEhC,MAAM,OAAO,GAA8E,EAAE,CAAC;IAC9F,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtF,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QAExC,MAAM,OAAO,GAAG,KAAK,CAAC,OAA+B,CAAC;QACtD,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;QAE5C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;YAE7B,IAAI,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,6BAA6B;gBAC7B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;oBACvB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;wBAC3B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;wBAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;4BACZ,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,wBAAwB;gBACxB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"relation-integrity.js","sourceRoot":"","sources":["../src/relation-integrity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import type { CollectionDefinition, FieldMap, GlobalDefinition } from '@forge-cms/core';
2
+ import type { AtomicWriteOperation, DatabaseRecord, DatabaseWhere } from '@forge-cms/db';
3
+ import type { OperationContext } from './context.js';
4
+ /**
5
+ * The reference shapes relation integrity cannot enforce (spec 064 §2), found at startup so they are
6
+ * refused instead of silently ignored. Returns one message per problem (empty = supported). Reads the
7
+ * schema only — never persisted data.
8
+ *
9
+ * `isAuthManaged` answers `AuthAdapter.managesCollection` (spec 061); `onDelete: 'cascade' | 'set-null'`
10
+ * onto such a collection could never run, because its documents are only ever deleted by the auth
11
+ * adapter's own user lifecycle.
12
+ */
13
+ export declare function validateRelationSchema(collections: readonly CollectionDefinition[], globals?: readonly GlobalDefinition[], isAuthManaged?: (slug: string) => boolean): string[];
14
+ /**
15
+ * "No row references any of `ids` in `target` any more" — one `assertCount(…, 0)` per referring field of
16
+ * a collection or global. The single definition of the final-state reference guard, shared by a content
17
+ * delete's plan and by the guard an auth adapter commits with its own user delete (spec 065).
18
+ */
19
+ export declare function noReferenceAssertions(ctx: OperationContext, target: string, ids: readonly string[]): AtomicWriteOperation[];
20
+ /** Whether any supported relation/upload field of a collection or global references `target`. */
21
+ export declare function isReferenced(ctx: OperationContext, target: string): boolean;
22
+ /** Target collection → the unique ids a write references there, plus the fields that wrote them. */
23
+ export type WrittenTargets = Map<string, {
24
+ ids: Set<string>;
25
+ fields: Set<string>;
26
+ }>;
27
+ /**
28
+ * The relation targets a write introduces. On update (`existing` given) only values that change count:
29
+ * a single reference different from the stored one, and for `many` only ids not already stored — so a
30
+ * partial update that leaves a (possibly historically orphaned) reference alone validates nothing.
31
+ */
32
+ export declare function collectWrittenTargets(fields: FieldMap, data: Record<string, unknown>, existing?: Record<string, unknown>): WrittenTargets;
33
+ /**
34
+ * The references an update **re-sends unchanged** (spec 064 §4): single values equal to the stored one,
35
+ * and ids of a `many` value already stored. They are not target-checked (a historical orphan must stay
36
+ * saveable), so instead the write only commits while the row **still holds them**. Otherwise a relation
37
+ * delete that cleared them after this update read the row (set-null) would be silently undone, leaving a
38
+ * reference to the deleted document. `undefined` when nothing is re-sent.
39
+ */
40
+ export declare function echoedReferenceGuard(fields: FieldMap, data: Record<string, unknown>, existing: Record<string, unknown>): DatabaseWhere | undefined;
41
+ /**
42
+ * The deterministic answer for a write naming a target that does not exist: one `count` per target
43
+ * collection (an `in` over the unique ids, not a read per id), then a `400` naming the field and the
44
+ * missing ids. This is the only place "missing" is reported as bad input — a target that disappears
45
+ * after this read fails the write's own `assertCount` instead (a `409`, see {@link targetAssertions}).
46
+ */
47
+ export declare function verifyTargetsExist(ctx: OperationContext, targets: WrittenTargets): Promise<void>;
48
+ /**
49
+ * `assertCount`s proving every written target still exists when the write commits: one per target
50
+ * collection, or one per 90 ids of a very large `many` write (each counts against the batch cap).
51
+ */
52
+ export declare function targetAssertions(targets: WrittenTargets): AtomicWriteOperation[];
53
+ export interface PlannedDelete {
54
+ collection: CollectionDefinition;
55
+ /** The document as read while planning; its `updated_at` guards the batch and its `_storageKey` is cleaned up. */
56
+ doc: DatabaseRecord;
57
+ }
58
+ export interface PlannedSetNull {
59
+ collection: CollectionDefinition;
60
+ id: string;
61
+ /** Field → the deleted ids to clear from it (single → `null`, many → removed from the array). */
62
+ removals: Map<string, {
63
+ many: boolean;
64
+ ids: Set<string>;
65
+ }>;
66
+ }
67
+ export interface RelationDeletePlan {
68
+ /** Root first, then dependents in discovery order. */
69
+ deletes: PlannedDelete[];
70
+ setNulls: PlannedSetNull[];
71
+ /** "No surviving row references a deleted document", checked last in the batch (final state). */
72
+ assertions: AtomicWriteOperation[];
73
+ }
74
+ /**
75
+ * Plans a delete's complete relation consequences **with reads only** — nothing is written and no hook
76
+ * runs here. Breadth-first over `collection:id` keys, each scheduled at most once, so self references,
77
+ * cycles and diamonds terminate. Every referencing-row query is bounded (`limit: MAX + 1`): a plan that
78
+ * could not fit in one batch is refused, never truncated or chunked.
79
+ *
80
+ * Restrict and required set-null are judged against the **final** state: a reference only blocks the
81
+ * delete if the document holding it survives (a restrict referrer that is itself cascade-deleted in the
82
+ * same plan does not block). Throws `InvalidInputError` for a blocking restrict, a surviving required
83
+ * set-null, a cascade/set-null into an auth-managed collection (spec 061), or an oversized plan.
84
+ */
85
+ export declare function planRelationDelete(ctx: OperationContext, root: {
86
+ collection: CollectionDefinition;
87
+ doc: DatabaseRecord;
88
+ }): Promise<RelationDeletePlan>;
89
+ /**
90
+ * The set-null patch for `doc` as it is now: single references to a deleted id become `null`, deleted
91
+ * ids are removed from `many` arrays. `null` when the document no longer references any of them (it
92
+ * changed since planning) — then there is nothing to write.
93
+ */
94
+ export declare function setNullPatch(planned: PlannedSetNull, doc: DatabaseRecord): Record<string, unknown> | null;
95
+ //# sourceMappingURL=relation-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-lifecycle.d.ts","sourceRoot":"","sources":["../src/relation-lifecycle.ts"],"names":[],"mappings":"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"}