@spine-event-engine/storage-postgres 2.0.0-snapshot.22 → 2.0.0-snapshot.24

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 (35) hide show
  1. package/README.md +13 -4
  2. package/REFERENCE.md +60 -6
  3. package/dist/postgres/agent-execution.d.ts +285 -0
  4. package/dist/postgres/agent-execution.d.ts.map +1 -0
  5. package/dist/postgres/agent-execution.js +648 -0
  6. package/dist/postgres/agent-execution.js.map +1 -0
  7. package/dist/postgres/agent-history.d.ts +114 -0
  8. package/dist/postgres/agent-history.d.ts.map +1 -0
  9. package/dist/postgres/agent-history.js +225 -0
  10. package/dist/postgres/agent-history.js.map +1 -0
  11. package/dist/postgres/entity-commit.d.ts +23 -38
  12. package/dist/postgres/entity-commit.d.ts.map +1 -1
  13. package/dist/postgres/entity-commit.js +101 -144
  14. package/dist/postgres/entity-commit.js.map +1 -1
  15. package/dist/postgres/entity-history.d.ts.map +1 -1
  16. package/dist/postgres/entity-history.js +60 -232
  17. package/dist/postgres/entity-history.js.map +1 -1
  18. package/dist/postgres/errors.d.ts +1 -1
  19. package/dist/postgres/errors.d.ts.map +1 -1
  20. package/dist/postgres/errors.js +5 -3
  21. package/dist/postgres/errors.js.map +1 -1
  22. package/dist/postgres/record-storage.d.ts +87 -111
  23. package/dist/postgres/record-storage.d.ts.map +1 -1
  24. package/dist/postgres/record-storage.js +159 -186
  25. package/dist/postgres/record-storage.js.map +1 -1
  26. package/dist/postgres/storage-factory.d.ts +11 -8
  27. package/dist/postgres/storage-factory.d.ts.map +1 -1
  28. package/dist/postgres/storage-factory.js +93 -23
  29. package/dist/postgres/storage-factory.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +5 -5
  32. package/dist/postgres/delivery-cleanup.d.ts +0 -76
  33. package/dist/postgres/delivery-cleanup.d.ts.map +0 -1
  34. package/dist/postgres/delivery-cleanup.js +0 -224
  35. package/dist/postgres/delivery-cleanup.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-execution.js","sourceRoot":"","sources":["../../src/postgres/agent-execution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGhD,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,GAKtB,MAAM,+EAA+E,CAAC;AAGvF,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,GASpB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAA+B,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAWjE;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IAqBd;IACA;IACA;IACA;IACA;IACA;IAzBnB,KAAK,GAAG,IAAI,CAAC;IAEb,MAAM,CAA4B;IAElC;;OAEG;IACM,QAAQ,GAA2B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAE9D;;;;;;;;;OASG;IACH,YACmB,KAAuC,EACvC,UAA+D,EAC/D,IAAuD,EACvD,OAA0D,EAC1D,OAA+C,EAC/C,OAAgD;QALhD,UAAK,GAAL,KAAK,CAAkC;QACvC,eAAU,GAAV,UAAU,CAAqD;QAC/D,SAAI,GAAJ,IAAI,CAAmD;QACvD,YAAO,GAAP,OAAO,CAAmD;QAC1D,YAAO,GAAP,OAAO,CAAwC;QAC/C,YAAO,GAAP,OAAO,CAAyC;IAChE,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,QAAiC;QAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBAC9D,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;gBACtF,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,0BAA0B,EAAE;gBAChD,QAAQ;gBACR,MAAM,EAAE,qBAAqB,CAAC,yBAAyB;aACxD,CAAC,CAAC;YACH,MAAM,IAAI,GACR,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC3C,MAAM,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACtD,OAAO,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,OAAyB;QACrC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC;YAC3D,MAAM,IAAI,UAAU,CAAC,sDAAsD,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,EAA4B,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;oBAC9E,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;gBACpF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/D,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO;gBACL,OAAO;gBACP,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK;gBACrC,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;oBAC5D,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;aAClF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACK,YAAY,CAAC,OAAyB,EAAE,IAAe,EAAE,KAAa;QAC5E,MAAM,MAAM,GAAwB;YAClC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,SAAS;YACpB,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC;SACzC,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,gCAAgC,CAAC,CAAC;QAC7F,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CACT,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CACxF,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,gCAAgC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC/B,MAAM,GAAG,GACP,uBAAuB,KAAK,UAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;YAC5D,6CAA6C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACvE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CAAC,GAAuB;QAChC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CACT,GAAuB,EACvB,KAAa,EACb,SAAoB;QAEpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,WAAW,CACvB,MAAkB,EAClB,IAAmB,EACnB,GAAuB,EACvB,KAAa,EACb,SAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,oBAAoB,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC;YACjE,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;YAC5F,OAAO,SAAS,CAAC;QACnB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QAChF,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,KAAK,qBAAqB,CAAC,yBAAyB;YACnE,MAAM,CAAC,MAAM,GAAG,qBAAqB,CAAC,uBAAuB,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO;YACL,MAAM;YACN,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;SAClD,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,aAAa,CACzB,MAAkB,EAClB,IAAmB,EACnB,IAAwB,EACxB,GAAuB,EACvB,GAAc;QAEd,IACE,IAAI,CAAC,MAAM,KAAK,SAAS;YACzB,IAAI,CAAC,cAAc,KAAK,SAAS;YACjC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC;YAE9D,OAAO,KAAK,CAAC;QACf,OAAO,CACL,IAAI,CAAC,OAAO,KAAK,SAAS;YAC1B,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC;YACxF,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CACzC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,GAAuB,EAAE,KAAa,EAAE,SAAoB;QACtE,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1D,IACE,IAAI,EAAE,MAAM,CAAC,cAAc,KAAK,SAAS;gBACzC,oBAAoB,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;gBAE5E,OAAO,KAAK,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YACjC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,KAA2B;QACtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACtD,yBAAyB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,cAAc,IAAI,EAAE;gBAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,cAAc,IAAI,EAAE;gBAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YAC9E,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,qBAAqB,CAAC,2BAA2B,EAAE,CAAC;gBAC5E,MAAM,IAAI,CAAC,gBAAgB,CACzB,MAAM,EACN,IAAI,EACJ,IAAI,CAAC,IAAI,EACT,KAAK,CAAC,GAAG,EACT,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAChD,CAAC;gBACF,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAmC;QAChD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClF,MAAM,QAAQ,GACZ,KAAK,CAAC,YAAY,KAAK,SAAS;YAC9B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,MAAM,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,uBAAuB,CACrE,KAAK,CAAC,YAAY,CACnB,CAAC;QACR,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9F,CAAC;gBAAS,CAAC;YACT,QAAQ,EAAE,KAAK,EAAE,CAAC;YAClB,WAAW,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,cAAc,CAC1B,MAAkB,EAClB,IAAmB,EACnB,KAAmC,EACnC,QAC+F;QAE/F,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,yBAAyB,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QACpE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,cAAc,IAAI,EAAE;YAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,CACzF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CACf,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,qBAAqB,CAAC,0BAA0B;YACxE,MAAM,IAAI,CAAC,gBAAgB,CACzB,MAAM,EACN,IAAI,EACJ,IAAI,CAAC,IAAI,EACT,KAAK,CAAC,GAAG,EACT,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAChD,CAAC;QACJ,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CACxB,KAAmC,EACnC,KAA2B;QAE3B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QACzC,IACE,UAAU,EAAE,cAAc,KAAK,SAAS;YACxC,UAAU,CAAC,gBAAgB,KAAK,SAAS;YACzC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;YACjC,CAAC,oBAAoB,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YAEvE,MAAM,IAAI,SAAS,CAAC,mEAAmE,CAAC,CAAC;QAC3F,IACE,KAAK,CAAC,MAAM,KAAK,qBAAqB,CAAC,uBAAuB;YAC9D,CAAC;gBACC,qBAAqB,CAAC,0BAA0B;gBAChD,qBAAqB,CAAC,2CAA2C;aAClE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAE7B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC;QACjD,MAAM,KAAK,GAAG,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACjD,IACE,KAAK,CAAC,YAAY,KAAK,SAAS;YAC9B,CAAC,CAAC,KAAK,KAAK,OAAO;YACnB,CAAC,CAAC,KAAK,KAAK,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK;YAE9E,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,GAAuB,EACvB,KAAa,EACb,mBAA+B,EAC/B,OAA6B;QAE7B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,aAAa,CACzB,MAAkB,EAClB,IAAmB,EACnB,GAAuB,EACvB,KAAa,EACb,mBAA+B,EAC/B,OAA6B;QAE7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC9B,MAAM,EACN,IAAI,EACJ,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,CAAC,0BAA0B,CAAC,EAAE,EAC7E,KAAK,CACN,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS;YACtC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,yBAAyB,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/D,KAAK,MAAM,MAAM,IAAI,OAAO;YAC1B,oBAAoB,CAAC,UAAU,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAChG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,qBAAqB,CAAC,0BAA0B,CAAC;YACtE,MAAM,IAAI,CAAC,gBAAgB,CACzB,MAAM,EACN,IAAI,EACJ,IAAI,CAAC,IAAI,EACT,GAAG,EACH,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAChD,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAChF,CAAC;IAED;;;;OAIG;IACK,KAAK;QACX,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACrD,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE;YAC7C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,UAAU;QACtB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACpF,OAAO,CAAC,eAAe,EAAE,CAC1B,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QACrD,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,WAAW,CACf,MAAM,EACN,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EACnC,yBAAyB,EACzB,uCAAuC,CACxC,CAAC;YACF,MAAM,WAAW,CACf,MAAM,EACN,UAAU,CAAC,KAAK,EAAE,EAClB,0BAA0B,EAC1B,6CAA6C,CAC9C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,QAAQ,CACpB,MAAkB,EAClB,IAAmB,EACnB,GAAuB;QAEvB,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CACvC,oBAAoB,CAAC,OAAO,CAC1B,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAClE,CACF,CAAC;QACF,MAAM,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,WAAW,CACvB,MAAkB,EAClB,IAAmB,EACnB,GAAuB;QAEvB,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CACxC,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAClE,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAChC,MAAM,EACN,gBAAgB,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC1D,YAAY,CACb,CAAC;QACF,IACE,KAAK,KAAK,SAAS;YACnB,qBAAqB,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpE,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC;YAEpC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,QAAQ,CACpB,MAAkB,EAClB,IAAmB,EACnB,GAAuB;QAEvB,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAC/B,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAC9F,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QACnE,IACE,KAAK,KAAK,SAAS;YACnB,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC9E,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC;YAEvC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,QAAQ,CACpB,MAAkB,EAClB,IAAmB,EACnB,KAA2B,EAC3B,SAAS,GAAG,IAAI;QAEhB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACtE,IACE,IAAI,KAAK,SAAS;YAClB,CAAC,oBAAoB,CAAC,SAAS,CAC7B,QAAQ,CAAC,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,EACjD,KAAK,CAAC,mBAAmB,CAC1B;YAED,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,IAAI,SAAS,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,OAAO,CACnB,MAAkB,EAClB,IAAmB,EACnB,GAAuB,EACvB,KAAa;QAEb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IACE,CAAC,KAAK;YACN,IAAI,EAAE,UAAU,KAAK,KAAK;YAC1B,MAAM,EAAE,UAAU,KAAK,KAAK;YAC5B,IAAI,CAAC,cAAc,KAAK,SAAS;YACjC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC;YAE/D,OAAO,SAAS,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,QAAQ,CACpB,MAAkB,EAClB,IAAmB,EACnB,GAAuB;QAEvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,CACL,KAAK,KAAK,SAAS;YACnB,qBAAqB,CAAC,UAAU,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC9E,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CACxC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,IAAwB,EAAE,MAA4B;QAC3E,oBAAoB,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,gBAAgB,CAC5B,MAAkB,EAClB,IAAmB,EACnB,IAAwB,EACxB,GAAuB,EACvB,KAAoD;QAEpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,SAAS,CACrB,MAAkB,EAClB,IAAmB,EACnB,GAAuB,EACvB,OAA4B;QAE5B,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YACvD,UAAU,CAAC,IAAI,CACb,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC3C,gBAAgB,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1D,KAAK,CAAC,SAAS;gBACf,KAAK,CAAC,QAAQ;gBACd,MAAM;aACP,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,UAAU;aACd,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,SAAS;YAChC,CAAC,OAAO,KAAK,SAAS;gBACpB,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACjD,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CACjD;aACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACpB,oBAAoB,CAAC,WAAW,CAC9B,qBAAqB,CAAC,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EACrE,qBAAqB,CAAC,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CACvE,CACF,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,KAAa;QAChC,OAAO,CACL,uBAAuB,KAAK,2BAA2B;YACvD,yDAAyD;YACzD,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,cAAc,CAC1B,MAAkB,EAClB,KAAmC,EACnC,eAAuB,EACvB,QAC+F;QAE/F,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;QAChF,MAAM,EAAE,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,EAAE,KAAK,SAAS;YAAE,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAC/F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QACpF,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,eAAe;YACrD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;CACF;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,GAAuB,EAAE,KAAwB;IACtE,OAAO,mBAAmB,CAAC,MAAM,CAC/B,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,EACjD,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAChD,KAAK,CACN,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CACxB,MAAkB,EAClB,KAAa,EACb,IAAY,EACZ,OAAe;IAEf,MAAM,MAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,QAAQ,KAAK,KAAK,OAAO,GAAG,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAK/B,iFAAiF;QAC/E,wDAAwD;QACxD,mDAAmD,EACrD,CAAC,KAAK,EAAE,IAAI,CAAC,CACd,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,IACE,CAAC,KAAK,EAAE,UAAU;QAClB,CAAC,KAAK,CAAC,UAAU;QACjB,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,OAAO,GAAG,CAAC;QAC1C,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC3C,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAEpC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AACzE,CAAC"}
@@ -0,0 +1,114 @@
1
+ import type { AgentHistoryEntry } from "@spine-event-engine/proto/agent";
2
+ import type { AgentHistoryRecord } from "@spine-event-engine/proto/generated/spine/server/agent/history_record_pb.js";
3
+ import { type AgentHistoryPage, type AgentHistoryRead, type AgentHistoryStorage, type AgentHistoryStorageInput } from "@spine-event-engine/storage/provider";
4
+ import { PostgresRecordStorage } from "./record-storage.js";
5
+ /**
6
+ * Hashes complete identities into bounded physical IDs and indexed scope keys.
7
+ */
8
+ export declare const AgentHistoryHash: {
9
+ /**
10
+ * Calculates the fixed-width digest of a complete logical identity.
11
+ *
12
+ * @param value Complete logical identity.
13
+ * @returns Full SHA-256 hex digest.
14
+ */
15
+ value(value: string): string;
16
+ };
17
+ /**
18
+ * Stores Agent history in the shared PostgreSQL immutable record family.
19
+ *
20
+ * @typeParam Id Typed Agent identifier.
21
+ */
22
+ export declare class PostgresAgentHistory<Id> implements AgentHistoryStorage<Id> {
23
+ #private;
24
+ private readonly input;
25
+ private readonly records;
26
+ /**
27
+ * Binds one typed Agent repository to the provider record handle.
28
+ *
29
+ * @param input Repository and complete tenant scope.
30
+ * @param records Native record-family storage.
31
+ */
32
+ constructor(input: AgentHistoryStorageInput<Id>, records: PostgresRecordStorage<string, AgentHistoryRecord>);
33
+ /**
34
+ * Writes one original entry or confirms byte-identical content.
35
+ *
36
+ * @param entityId Typed Agent identifier.
37
+ * @param entry Complete history entry.
38
+ * @returns Completion after immutable storage confirms the entry.
39
+ */
40
+ append(entityId: Id, entry: AgentHistoryEntry): Promise<void>;
41
+ /**
42
+ * Reads a bounded indexed page in full Timestamp/category/UTF-8 order.
43
+ *
44
+ * @param request Typed Agent, view, continuation, and response limits.
45
+ * @returns Original entries and continuation status.
46
+ */
47
+ read(request: AgentHistoryRead<Id>): Promise<AgentHistoryPage>;
48
+ /**
49
+
50
+ * Closes this handle without deleting stored records.
51
+
52
+ */
53
+ close(): void;
54
+ /**
55
+ * Prepares fixed composite indexes after canonical table initialization.
56
+ *
57
+ * @returns Shared preparation promise for this handle.
58
+ */
59
+ private ready;
60
+ /**
61
+ * Creates each native index idempotently on the shared record family.
62
+ *
63
+ * @returns Completion after all three definitions are validated.
64
+ */
65
+ private initialize;
66
+ /**
67
+ * Rejects an existing same-name index with incomplete columns or collation.
68
+ *
69
+ * @param client Acquired PostgreSQL client.
70
+ * @param table Validated physical table name.
71
+ * @param name Fixed required index name.
72
+ * @param columns Required complete binary-order columns.
73
+ * @returns Completion after the index definition is checked.
74
+ */
75
+ private ensureIndex;
76
+ /**
77
+ * Reads a bounded native page with complete scope and view predicates.
78
+ *
79
+ * @param agentKey Canonical Agent key.
80
+ * @param request View and response bounds.
81
+ * @param after Exclusive encoded order key.
82
+ * @param limit Maximum native rows for this chunk.
83
+ * @returns Complete original stored records.
84
+ */
85
+ private fetch;
86
+ /**
87
+ * Adds the indexed view predicate and exact original selector.
88
+ *
89
+ * @param request Selected history view.
90
+ * @param clauses Mutable bound SQL predicates.
91
+ * @param values Mutable bound SQL values.
92
+ */
93
+ private viewPredicate;
94
+ /**
95
+ * Validates view identity and complete-key continuation category.
96
+ *
97
+ * @param request View and continuation key.
98
+ */
99
+ private validateView;
100
+ /**
101
+ * Converts a typed Agent ID to its canonical key.
102
+ *
103
+ * @param id Typed Agent identifier.
104
+ * @returns Canonical storage key.
105
+ */
106
+ private key;
107
+ /**
108
+
109
+ * Rejects calls after this handle closes.
110
+
111
+ */
112
+ private requireOpen;
113
+ }
114
+ //# sourceMappingURL=agent-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-history.d.ts","sourceRoot":"","sources":["../../src/postgres/agent-history.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6EAA6E,CAAC;AACtH,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;;;;OAKG;iBACU,MAAM,GAAG,MAAM;CAG7B,CAAC;AAEF;;;;GAIG;AACH,qBAAa,oBAAoB,CAAC,EAAE,CAAE,YAAW,mBAAmB,CAAC,EAAE,CAAC;;IAoBpE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR1B;;;;;OAKG;gBAEgB,KAAK,EAAE,wBAAwB,CAAC,EAAE,CAAC,EACnC,OAAO,EAAE,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAG7E;;;;;;OAMG;IACG,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnE;;;;;OAKG;IACG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYpE;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAMb;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAIb;;;;OAIG;YACW,UAAU;IA0BxB;;;;;;;;OAQG;YACW,WAAW;IA6BzB;;;;;;;;OAQG;YACW,KAAK;IAyBnB;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAkBrB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;;OAKG;IACH,OAAO,CAAC,GAAG;IAMX;;;;OAIG;IACH,OAAO,CAAC,WAAW;CAGpB"}
@@ -0,0 +1,225 @@
1
+ /*
2
+ * Copyright 2026, CodeMatters. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5
+ * in compliance with the License. You may obtain a copy of the License at
6
+ *
7
+ * https://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
10
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11
+ * or implied. See the License for the specific language governing permissions and limitations under
12
+ * the License.
13
+ */
14
+ import { createHash } from "node:crypto";
15
+ import { AgentHistoryKeys, AgentHistoryPages, } from "@spine-event-engine/storage/provider";
16
+ import { AgentHistoryRecords } from "@spine-event-engine/storage/provider";
17
+ import { PostgresRecordStorage } from "./record-storage.js";
18
+ /**
19
+ * Hashes complete identities into bounded physical IDs and indexed scope keys.
20
+ */
21
+ export const AgentHistoryHash = {
22
+ /**
23
+ * Calculates the fixed-width digest of a complete logical identity.
24
+ *
25
+ * @param value Complete logical identity.
26
+ * @returns Full SHA-256 hex digest.
27
+ */
28
+ value(value) {
29
+ return createHash("sha256").update(value, "utf8").digest("hex");
30
+ },
31
+ };
32
+ /**
33
+ * Stores Agent history in the shared PostgreSQL immutable record family.
34
+ *
35
+ * @typeParam Id Typed Agent identifier.
36
+ */
37
+ export class PostgresAgentHistory {
38
+ input;
39
+ records;
40
+ /**
41
+ * Records whether this handle accepts calls.
42
+ */
43
+ #open = true;
44
+ /**
45
+
46
+ * Reuses one table and index preparation promise.
47
+
48
+ */
49
+ #ready;
50
+ /**
51
+ * Binds one typed Agent repository to the provider record handle.
52
+ *
53
+ * @param input Repository and complete tenant scope.
54
+ * @param records Native record-family storage.
55
+ */
56
+ constructor(input, records) {
57
+ this.input = input;
58
+ this.records = records;
59
+ }
60
+ /**
61
+ * Writes one original entry or confirms byte-identical content.
62
+ *
63
+ * @param entityId Typed Agent identifier.
64
+ * @param entry Complete history entry.
65
+ * @returns Completion after immutable storage confirms the entry.
66
+ */
67
+ async append(entityId, entry) {
68
+ this.requireOpen();
69
+ await this.ready();
70
+ await this.records.writeImmutable(AgentHistoryRecords.record(this.input.stateType, this.key(entityId), entry));
71
+ }
72
+ /**
73
+ * Reads a bounded indexed page in full Timestamp/category/UTF-8 order.
74
+ *
75
+ * @param request Typed Agent, view, continuation, and response limits.
76
+ * @returns Original entries and continuation status.
77
+ */
78
+ async read(request) {
79
+ this.requireOpen();
80
+ await this.ready();
81
+ const agentKey = this.key(request.entityId);
82
+ const after = request.after === undefined ? undefined : AgentHistoryKeys.indexValue(request.after);
83
+ this.validateView(request);
84
+ return AgentHistoryPages.read(request, after, (cursor, limit) => this.fetch(agentKey, request, cursor, limit));
85
+ }
86
+ /**
87
+
88
+ * Closes this handle without deleting stored records.
89
+
90
+ */
91
+ close() {
92
+ if (!this.#open)
93
+ return;
94
+ this.#open = false;
95
+ this.records.close();
96
+ }
97
+ /**
98
+ * Prepares fixed composite indexes after canonical table initialization.
99
+ *
100
+ * @returns Shared preparation promise for this handle.
101
+ */
102
+ ready() {
103
+ return (this.#ready ??= this.initialize());
104
+ }
105
+ /**
106
+ * Creates each native index idempotently on the shared record family.
107
+ *
108
+ * @returns Completion after all three definitions are validated.
109
+ */
110
+ async initialize() {
111
+ const executor = this.records.historyExecutor();
112
+ await executor.prepare();
113
+ await executor.using(async (client) => {
114
+ const table = executor.table();
115
+ await this.ensureIndex(client, table, "agent_history_full", 'scope_digest, order_key COLLATE "C"');
116
+ await this.ensureIndex(client, table, "agent_history_category", 'scope_digest, category, order_key COLLATE "C"');
117
+ await this.ensureIndex(client, table, "agent_history_conversation", 'scope_digest, conversation_digest, order_key COLLATE "C"');
118
+ });
119
+ }
120
+ /**
121
+ * Rejects an existing same-name index with incomplete columns or collation.
122
+ *
123
+ * @param client Acquired PostgreSQL client.
124
+ * @param table Validated physical table name.
125
+ * @param name Fixed required index name.
126
+ * @param columns Required complete binary-order columns.
127
+ * @returns Completion after the index definition is checked.
128
+ */
129
+ async ensureIndex(client, table, name, columns) {
130
+ await client.query(`CREATE INDEX IF NOT EXISTS "${name}" ON ${table} (${columns})`);
131
+ const result = await client.query("SELECT pg_get_indexdef(i.indexrelid) AS definition, i.indisvalid, i.indisready " +
132
+ "FROM pg_index i " +
133
+ "JOIN pg_class c ON c.oid=i.indexrelid WHERE i.indrelid=to_regclass($1) AND c.relname=$2", [table, name]);
134
+ const index = result.rows[0];
135
+ const definition = index?.definition ?? "";
136
+ if (!index?.indisvalid ||
137
+ !index.indisready ||
138
+ !definition.includes(" USING btree ") ||
139
+ !definition.includes(`(${columns})`) ||
140
+ definition.includes(" WHERE "))
141
+ throw new Error("PostgreSQL Agent history index is incompatible.");
142
+ }
143
+ /**
144
+ * Reads a bounded native page with complete scope and view predicates.
145
+ *
146
+ * @param agentKey Canonical Agent key.
147
+ * @param request View and response bounds.
148
+ * @param after Exclusive encoded order key.
149
+ * @param limit Maximum native rows for this chunk.
150
+ * @returns Complete original stored records.
151
+ */
152
+ async fetch(agentKey, request, after, limit) {
153
+ const executor = this.records.historyExecutor();
154
+ const values = [
155
+ AgentHistoryHash.value(AgentHistoryRecords.scope(this.input.stateType, agentKey)),
156
+ this.input.stateType,
157
+ agentKey,
158
+ ];
159
+ const clauses = ['"scope_digest" = $1', '"state_type" = $2', '"agent_key" = $3'];
160
+ this.viewPredicate(request, clauses, values);
161
+ if (after !== undefined) {
162
+ values.push(after);
163
+ clauses.push(`"order_key" COLLATE "C" > $${String(values.length)}`);
164
+ }
165
+ values.push(limit);
166
+ const sql = `SELECT "bytes" FROM ${executor.table()} WHERE ${clauses.join(" AND ")} ` +
167
+ `ORDER BY "order_key" COLLATE "C" ASC LIMIT $${String(values.length)}`;
168
+ return executor.using((client) => executor.query(client, sql, values));
169
+ }
170
+ /**
171
+ * Adds the indexed view predicate and exact original selector.
172
+ *
173
+ * @param request Selected history view.
174
+ * @param clauses Mutable bound SQL predicates.
175
+ * @param values Mutable bound SQL values.
176
+ */
177
+ viewPredicate(request, clauses, values) {
178
+ if (request.view.kind === "full")
179
+ return;
180
+ if (request.view.kind === "conversation") {
181
+ const conversation = request.view.conversation.value;
182
+ values.push(AgentHistoryHash.value(conversation));
183
+ clauses.push(`"conversation_digest" = $${String(values.length)}`);
184
+ values.push(conversation);
185
+ clauses.push(`"conversation_key" = $${String(values.length)}`);
186
+ return;
187
+ }
188
+ values.push(request.view.kind);
189
+ clauses.push(`"category" = $${String(values.length)}`);
190
+ }
191
+ /**
192
+ * Validates view identity and complete-key continuation category.
193
+ *
194
+ * @param request View and continuation key.
195
+ */
196
+ validateView(request) {
197
+ const kind = request.view.kind;
198
+ if (kind === "conversation" && request.view.conversation.value.length === 0)
199
+ throw new TypeError("Conversation history requires a ConversationId.");
200
+ if (request.after !== undefined && kind !== "full" && request.after.category !== kind)
201
+ throw new TypeError("Agent history boundary category does not match the view.");
202
+ }
203
+ /**
204
+ * Converts a typed Agent ID to its canonical key.
205
+ *
206
+ * @param id Typed Agent identifier.
207
+ * @returns Canonical storage key.
208
+ */
209
+ key(id) {
210
+ const key = this.input.id.key(id);
211
+ if (key.length === 0)
212
+ throw new TypeError("Agent history Entity ID is required.");
213
+ return key;
214
+ }
215
+ /**
216
+
217
+ * Rejects calls after this handle closes.
218
+
219
+ */
220
+ requireOpen() {
221
+ if (!this.#open)
222
+ throw new Error("Agent history storage handle is closed.");
223
+ }
224
+ }
225
+ //# sourceMappingURL=agent-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-history.js","sourceRoot":"","sources":["../../src/postgres/agent-history.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { type Message } from "@bufbuild/protobuf";
2
2
  import { type RecordSpec, type StorageGroup } from "@spine-event-engine/storage";
3
3
  import { type EntityCommitInput, type EntityCommitStorage, type EntityStorageInput } from "@spine-event-engine/storage/provider";
4
- import { PostgresRecordStorage, type PostgresRecordLifecycle } from "./record-storage.js";
4
+ import { PostgresRecordStorage } from "./record-storage.js";
5
+ import type { PoolClient } from "pg";
5
6
  /**
6
7
  * Opens one PostgreSQL record family used by an Entity commit.
7
8
  *
@@ -25,67 +26,51 @@ export declare class PostgresEntityCommitStorage<I, S extends Message> implement
25
26
  *
26
27
  * @param entity Defines the captured Entity source, state, and tenant scope.
27
28
  * @param open Opens temporary current and history record-family handles.
28
- * @param lifecycle Acquires transaction clients for the captured database.
29
29
  * @param onClose Removes this handle from the factory's live-handle set.
30
30
  */
31
- constructor(entity: EntityStorageInput<I, S>, open: OpenRecords, lifecycle: PostgresRecordLifecycle, onClose: () => void);
31
+ constructor(entity: EntityStorageInput<I, S>, open: OpenRecords, onClose: () => void);
32
32
  /**
33
33
  * Commits one current Entity record and its optional immutable records.
34
34
  *
35
35
  * @typeParam Id Entity identifier type supplied by the commit.
36
36
  * @typeParam State Entity state message type supplied by the commit.
37
37
  * @param input Defines the next current record plus histories.
38
- * @returns Completion after PostgreSQL commits the mutation.
38
+ * @returns Completion after every requested record write.
39
39
  */
40
40
  commit<Id, State extends Message>(input: EntityCommitInput<Id, State>): Promise<void>;
41
41
  /**
42
- * Closes this handle to new commits while allowing started work to settle.
43
- */
44
- close(): void;
45
- /**
46
- * Applies one validated Entity commit on an active transaction.
42
+ * Prepares one Agent-fenced Entity mutation for its existing transaction client.
47
43
  *
48
- * @typeParam Id Entity identifier type supplied by the commit.
49
- * @typeParam State Entity state message type supplied by the commit.
50
- * @param client PostgreSQL transaction client.
51
- * @param input Defines the Entity records to commit.
52
- * @param records Provides the prepared record families.
53
- * @returns Completion after records are committed.
44
+ * @typeParam Id Typed Entity identifier.
45
+ * @typeParam State Entity state message type.
46
+ * @param input Changed Entity state and immutable history.
47
+ * @returns A transaction-bound conditional mutation and its close callback.
54
48
  */
55
- private apply;
49
+ prepareAgentConditional<Id, State extends Message>(input: EntityCommitInput<Id, State>): Promise<{
50
+ apply(client: PoolClient, expectedVersion: number): Promise<void>;
51
+ close(): void;
52
+ }>;
56
53
  /**
57
- * Acquires locks for each mutable or append-only family in the commit.
54
+ * Determines whether a driver serialization failure occurred through provider error causes.
58
55
  *
59
- * @typeParam Id Entity identifier type supplied by the commit.
60
- * @typeParam State Entity state message type supplied by the commit.
61
- * @param client PostgreSQL transaction client.
62
- * @param input Defines the Entity records to commit.
63
- * @param records Provides the prepared record families.
64
- * @returns Completion after all transaction locks are acquired.
56
+ * @param error Supplies the operation failure.
57
+ * @returns Whether one captured-input retry is safe.
65
58
  */
66
- private locks;
59
+ private retryable;
67
60
  /**
68
- * Verifies that every immutable record can be appended.
69
- *
70
- * @typeParam Id Entity identifier type supplied by the commit.
71
- * @typeParam State Entity state message type supplied by the commit.
72
- * @param client PostgreSQL transaction client.
73
- * @param input Defines the immutable records to verify.
74
- * @param records Provides the prepared record families.
75
- * @returns Completion after all immutable checks pass.
61
+ * Closes this handle to new commits while allowing started work to settle.
76
62
  */
77
- private preflight;
63
+ close(): void;
78
64
  /**
79
- * Stores every immutable history and event-store record.
65
+ * Applies one validated Entity commit as ordered independent writes.
80
66
  *
81
67
  * @typeParam Id Entity identifier type supplied by the commit.
82
68
  * @typeParam State Entity state message type supplied by the commit.
83
- * @param client PostgreSQL transaction client.
84
- * @param input Defines the immutable records to append.
69
+ * @param input Defines the Entity records to commit.
85
70
  * @param records Provides the prepared record families.
86
- * @returns Completion after all records are appended.
71
+ * @returns Completion after records are committed.
87
72
  */
88
- private append;
73
+ private apply;
89
74
  /**
90
75
  * Validates the commit against the Entity boundary captured by this handle.
91
76
  *
@@ -1 +1 @@
1
- {"version":3,"file":"entity-commit.d.ts","sourceRoot":"","sources":["../../src/postgres/entity-commit.ts"],"names":[],"mappings":"AAcA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAO5D,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,sCAAsC,CAAC;AAQ9C,OAAO,EACL,qBAAqB,EAErB,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AA6C7B;;;;;GAKG;AACH,KAAK,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EACtC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,KAAK,CAAC,EAAE,YAAY,KACjB,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AA4GjC;;;;;GAKG;AACH,qBAAa,2BAA2B,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAE,YAAW,mBAAmB;;IAczF,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B;;;;;;;OAOG;gBAEgB,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,IAAI,EAAE,WAAW,EAClC,SAAS,EAAE,uBAAuB,EACjB,OAAO,EAAE,MAAM,IAAI;IAKtC;;;;;;;OAOG;IACG,MAAM,CAAC,EAAE,EAAE,KAAK,SAAS,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3F;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;;;;;;;;OASG;YACW,KAAK;IAanB;;;;;;;;;OASG;YACW,KAAK;IAsBnB;;;;;;;;;OASG;YACW,SAAS;IAWvB;;;;;;;;;OASG;YACW,MAAM;IAWpB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IAkBhB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAepB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;CAWzB"}
1
+ {"version":3,"file":"entity-commit.d.ts","sourceRoot":"","sources":["../../src/postgres/entity-commit.ts"],"names":[],"mappings":"AAcA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAO5D,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAErC;;;;;GAKG;AACH,KAAK,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EACtC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,KAAK,CAAC,EAAE,YAAY,KACjB,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAwIjC;;;;;GAKG;AACH,qBAAa,2BAA2B,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAE,YAAW,mBAAmB;;IAWzF,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B;;;;;;OAMG;gBAEgB,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAChC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,IAAI;IAGtC;;;;;;;OAOG;IACG,MAAM,CAAC,EAAE,EAAE,KAAK,SAAS,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3F;;;;;;;OAOG;IACG,uBAAuB,CAAC,EAAE,EAAE,KAAK,SAAS,OAAO,EACrD,KAAK,EAAE,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,GAClC,OAAO,CAAC;QACT,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,KAAK,IAAI,IAAI,CAAC;KACf,CAAC;IAmBF;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;;;;;;;OAQG;YACW,KAAK;IAWnB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IAkBhB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAepB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;CAWzB"}