@rudderhq/db 0.5.2-canary.1 → 0.6.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 (38) hide show
  1. package/dist/client.test.js +12 -0
  2. package/dist/client.test.js.map +1 -1
  3. package/dist/mcp-connections-schema.test.d.ts +2 -0
  4. package/dist/mcp-connections-schema.test.d.ts.map +1 -0
  5. package/dist/mcp-connections-schema.test.js +117 -0
  6. package/dist/mcp-connections-schema.test.js.map +1 -0
  7. package/dist/migrations/0111_nostalgic_scarecrow.sql +176 -0
  8. package/dist/migrations/0112_yielding_starhawk.sql +1 -0
  9. package/dist/migrations/0113_nosy_doomsday.sql +16 -0
  10. package/dist/migrations/0114_nervous_firebird.sql +10 -0
  11. package/dist/migrations/0115_chubby_wraith.sql +2 -0
  12. package/dist/migrations/0116_dark_skreet.sql +1 -0
  13. package/dist/migrations/managed-mcp-connections.test.ts +67 -0
  14. package/dist/migrations/meta/0111_snapshot.json +21839 -0
  15. package/dist/migrations/meta/0112_snapshot.json +21861 -0
  16. package/dist/migrations/meta/0113_snapshot.json +21889 -0
  17. package/dist/migrations/meta/0114_snapshot.json +21898 -0
  18. package/dist/migrations/meta/0115_snapshot.json +21910 -0
  19. package/dist/migrations/meta/0116_snapshot.json +21917 -0
  20. package/dist/migrations/meta/_journal.json +42 -0
  21. package/dist/migrations/organization-secret-purpose.test.ts +27 -0
  22. package/dist/schema/custom_integrations.d.ts +181 -3
  23. package/dist/schema/custom_integrations.d.ts.map +1 -1
  24. package/dist/schema/custom_integrations.js +28 -4
  25. package/dist/schema/custom_integrations.js.map +1 -1
  26. package/dist/schema/index.d.ts +1 -0
  27. package/dist/schema/index.d.ts.map +1 -1
  28. package/dist/schema/index.js +1 -0
  29. package/dist/schema/index.js.map +1 -1
  30. package/dist/schema/mcp_connections.d.ts +916 -0
  31. package/dist/schema/mcp_connections.d.ts.map +1 -0
  32. package/dist/schema/mcp_connections.js +97 -0
  33. package/dist/schema/mcp_connections.js.map +1 -0
  34. package/dist/schema/organization_secrets.d.ts +19 -0
  35. package/dist/schema/organization_secrets.d.ts.map +1 -1
  36. package/dist/schema/organization_secrets.js +2 -0
  37. package/dist/schema/organization_secrets.js.map +1 -1
  38. package/package.json +2 -2
@@ -396,6 +396,12 @@ describe("applyPendingMigrations", () => {
396
396
  "0108_atomic_chat_first_turn_cleanup.sql",
397
397
  "0109_many_carmella_unuscione.sql",
398
398
  "0110_supreme_mathemanic.sql",
399
+ "0111_nostalgic_scarecrow.sql",
400
+ "0112_yielding_starhawk.sql",
401
+ "0113_nosy_doomsday.sql",
402
+ "0114_nervous_firebird.sql",
403
+ "0115_chubby_wraith.sql",
404
+ "0116_dark_skreet.sql",
399
405
  ],
400
406
  reason: "pending-migrations",
401
407
  });
@@ -520,6 +526,12 @@ describe("applyPendingMigrations", () => {
520
526
  "0108_atomic_chat_first_turn_cleanup.sql",
521
527
  "0109_many_carmella_unuscione.sql",
522
528
  "0110_supreme_mathemanic.sql",
529
+ "0111_nostalgic_scarecrow.sql",
530
+ "0112_yielding_starhawk.sql",
531
+ "0113_nosy_doomsday.sql",
532
+ "0114_nervous_firebird.sql",
533
+ "0115_chubby_wraith.sql",
534
+ "0116_dark_skreet.sql",
523
535
  ],
524
536
  reason: "pending-migrations",
525
537
  });
@@ -1 +1 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,iBAAiB,EACjB,gCAAgC,GACjC,MAAM,aAAa,CAAC;AAmBrB,MAAM,SAAS,GAAa,EAAE,CAAC;AAC/B,MAAM,gBAAgB,GAA+B,EAAE,CAAC;AAExD,KAAK,UAAU,uBAAuB;IACpC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC9C,OAAO,GAAG,CAAC,OAA+B,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,IAAI,KAAK;oBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;;oBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,OAAO,8BAA8B,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,8BAA8B,CAAC,QAAgB;IAC5D,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC5E,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;IACtC,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC;QACpC,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,IAAI;QACJ,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;QAC9C,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;KAClB,CAAC,CAAC;IACH,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC5B,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEhC,MAAM,QAAQ,GAAG,qBAAqB,kBAAkB,CAAC,QAAQ,CAAC,cAAc,IAAI,WAAW,CAAC;IAChG,MAAM,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjD,OAAO,qBAAqB,kBAAkB,CAAC,QAAQ,CAAC,cAAc,IAAI,SAAS,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,aAAqB;IAChD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CACxC,IAAI,GAAG,CAAC,gBAAgB,aAAa,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EACzD,MAAM,CACP,CAAC;IACF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAeD,SAAS,oCAAoC;IAC3C,MAAM,gBAAgB,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,oCAAoC,CAAC,CAAC,CAAC;IACtG,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;IAElD,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAC/B,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CACH,CAAC;IAC5E,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC9E,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,qBAAqB,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,EAAE,CAAC,YAAY,CACb,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,EAAE,oBAAoB,CAAC,EACjD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,CAChD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,mDAAmD,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAC3B,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACxF,MAAM,wBAAwB,GAAG,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/D,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,wBAAwB,CAAC;QAC7B,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChF,IAAI,UAAU,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,8CAA8C,KAAK,CAAC,GAAG,cAAc,KAAK,CAAC,MAAM,cAAc,UAAU,EAAE,CAC5G,CAAC;QACJ,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACvF,CAAC;IAED,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,eAAe,CAAC,EACpD,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,OAAO,EAAE;YACP,GAAG,WAAW;YACd,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC;SAClE;KACF,CAAC,CACH,CAAC;IACF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,+CAA+C;IACtD,MAAM,gBAAgB,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,yCAAyC,CAAC,CAAC,CAAC;IAC3G,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;IAElD,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAC/B,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CACH,CAAC;IAC5E,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC9E,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,qBAAqB,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,EAAE,CAAC,YAAY,CACb,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,EAAE,oBAAoB,CAAC,EACjD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,CAChD,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,EAAE,CAAC,YAAY,CACvC,IAAI,GAAG,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,EAC7D,MAAM,CACP,CAAC;IACF,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpF,IAAI,cAAc,KAAK,kEAAkE,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,sDAAsD,cAAc,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,WAAW,GAA0B;QACzC,GAAG,EAAE,GAAG;QACR,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,4BAA4B;QACjC,WAAW,EAAE,IAAI;KAClB,CAAC;IACF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,WAAW,CAAC,GAAG,MAAM,CAAC,EACrD,iBAAiB,CAClB,CAAC;IACF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,eAAe,CAAC,EACpD,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,OAAO,EAAE,CAAC,GAAG,WAAW,EAAE,WAAW,CAAC;KACvC,CAAC,CACH,CAAC;IACF,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,oCAAoC,CAAC,MAAc;IAC1D,MAAM,gBAAgB,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,6BAA6B,MAAM,GAAG,CAAC,CAAC,CAAC;IACxG,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;IAElD,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAC/B,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,CACH,CAAC;IAC5E,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;IAC9E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,EAAE,CAAC,YAAY,CACb,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,EAAE,oBAAoB,CAAC,EACjD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,CAChD,CAAC;IACJ,CAAC;IACD,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,eAAe,CAAC,EACpD,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,OAAO;KACR,CAAC,CACH,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CACA,6DAA6D,EAC7D,KAAK,IAAI,EAAE;QACT,MAAM,sBAAsB,GAAG,MAAM,8BAA8B,CAAC,UAAU,CAAC,CAAC;QAChF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CAAC;QAEnC,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC;YAC9C,IAAI,EAAE,SAAS,CAAC,QAAQ;YACxB,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YAC5B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,UAAU;YACpB,iBAAiB,EAAE,QAAQ;YAC3B,iBAAiB,EAAE,CAAC,UAAU,CAAC;YAC/B,eAAe,EAAE,aAAa;SAC/B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAA4B,qBAAqB,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,2EAA2E,EAC3E,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEpD,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC;YAC3D,MAAM,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC;YAChC,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,qBAAqB;SAC9B,CAAC,CAAC;QAEH,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAChE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CACjC;;;;;WAKC,CACF,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,qDAAqD,EACrD,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEpD,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CACjC;;;;;;WAMC,CACF,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;gBAChD,sBAAsB;gBACtB,oBAAoB;aACrB,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,gFAAgF,EAChF,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEpD,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,4BAA4B,CAAC,CAAC;YAC5E,MAAM,GAAG,CAAC,MAAM,CAAC;;;SAGhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;SAGhB,CAAC,CAAC;YAEH,MAAM,GAAG,CAAC,MAAM,CAAC,6EAA6E,CAAC,CAAC;YAChG,MAAM,GAAG,CAAC,MAAM,CACd,sGAAsG,CACvG,CAAC;YACF,MAAM,GAAG,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC;YAC/E,MAAM,GAAG,CAAC,MAAM,CAAC,kEAAkE,CAAC,CAAC;YACrF,MAAM,GAAG,CAAC,MAAM,CACd,gIAAgI,CACjI,CAAC;YACF,MAAM,GAAG,CAAC,MAAM,CAAC,2DAA2D,CAAC,CAAC;YAC9E,MAAM,GAAG,CAAC,MAAM,CACd,8DAA8D,iBAAiB,GAAG,CACnF,CAAC;YACF,MAAM,GAAG,CAAC,MAAM,CAAC;;;SAGhB,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;YACjC,MAAM,EAAE,iBAAiB;YACzB,iBAAiB,EAAE,CAAC,4BAA4B,CAAC;YACjD,MAAM,EAAE,oBAAoB;SAC7B,CAAC,CAAC;QAEH,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CACpC,wEAAwE,CACzE,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE7D,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAAwB;;;;SAIjE,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEpC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAA0B;;;;;SAK/D,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,MAAM,CAAwB;;;;;;;;SAQ/D,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClD,gDAAgD;gBAChD,0CAA0C;aAC3C,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAuB;;;;;;;;;SAS7D,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBAChD,gDAAgD;gBAChD,2CAA2C;aAC5C,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,+EAA+E,EAC/E,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACpD,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,oCAAoC,EAAE,CAAC;QAC9E,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAE/E,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAEtD,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,MAAM,CAAyC;;;;;SAK9E,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACjC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;aAClC,CAAC,CAAC,CAAC,CAAC,OAAO,CACV,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC9C,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,SAAS,EAAE,KAAK,CAAC,IAAI;aACtB,CAAC,CAAC,CACJ,CAAC;YAEF,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,MAAM,CAAgD;;;;;;;;;;;;;;;;SAgBrF,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;gBAC5B,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBACjE,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBAClE,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,uBAAuB,EAAE;gBACtE,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,6BAA6B,EAAE;gBAC5E,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,0BAA0B,EAAE;aAC1E,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;YACjC,MAAM,EAAE,iBAAiB;YACzB,iBAAiB,EAAE;gBACjB,kCAAkC;gBAClC,6BAA6B;gBAC7B,+BAA+B;gBAC/B,8BAA8B;gBAC9B,0CAA0C;gBAC1C,yBAAyB;gBACzB,0BAA0B;gBAC1B,yCAAyC;gBACzC,kCAAkC;gBAClC,6BAA6B;aAC9B;YACD,MAAM,EAAE,oBAAoB;SAC7B,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAChF,MAAM,CAAC,CAAC,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5E,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,6BAA6B,CAAC,CAAC;YAC5E,MAAM,mBAAmB,GAAG,MAAM,SAAS,CAAC,MAAM,CAAqB;;;0BAGrD,gBAAgB;SACjC,CAAC,CAAC;YACH,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAA4B;;;;;;;;;;;;;;;SAejE,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpD,4BAA4B;gBAC5B,uBAAuB;gBACvB,2BAA2B;gBAC3B,4BAA4B;gBAC5B,qBAAqB;gBACrB,iCAAiC;gBACjC,6BAA6B;aAC9B,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CAA0B;;;;;;;;;;SAU/D,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClD,6CAA6C;gBAC7C,4CAA4C;gBAC5C,mDAAmD;aACpD,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,iFAAiF,EACjF,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACpD,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,+CAA+C,EAAE,CAAC;QAC/F,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACtD,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;;;;SAQhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;;;SAOhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;SAuBhB,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;YACjC,MAAM,EAAE,iBAAiB;YACzB,iBAAiB,EAAE;gBACjB,kCAAkC;gBAClC,6BAA6B;gBAC7B,+BAA+B;gBAC/B,0CAA0C;gBAC1C,yBAAyB;gBACzB,0BAA0B;gBAC1B,yCAAyC;gBACzC,kCAAkC;gBAClC,6BAA6B;aAC9B;YACD,MAAM,EAAE,oBAAoB;SAC7B,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAChF,MAAM,CAAC,CAAC,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5E,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,MAAM,CAAqB;;;0BAG/C,cAAc;SAC/B,CAAC,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,SAAS,CAAC,MAAM,CAMrC;;;;;;;;;SASJ,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;gBACxB,MAAM,EAAE,QAAQ;gBAChB,eAAe,EAAE,OAAO;gBACxB,oBAAoB,EAAE,IAAI;gBAC1B,aAAa,EAAE,IAAI;gBACnB,qBAAqB,EAAE,kCAAkC;aAC1D,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,mEAAmE,EACnE,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACpD,MAAM,qBAAqB,GAAG,oCAAoC,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAC7E,MAAM,GAAG,CAAC,MAAM,CAAC;;;SAGhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;;;SAOhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;;;SAOhB,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAChF,MAAM,CAAC,CAAC,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5E,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,SAAS,CAAC,MAAM,CAIrC;;;;SAIJ,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;gBACxB,0BAA0B,EAAE,IAAI;gBAChC,yBAAyB,EAAE,IAAI;gBAC/B,mBAAmB,EAAE,SAAS;aAC/B,CAAC,CAAC;YAEH,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC5D,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;;2CAEG,KAAK;;;;WAIrC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7B,CAAC;YACD,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;;;;SAI7B,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,qFAAqF,EACrF,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACpD,MAAM,qBAAqB,GAAG,oCAAoC,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAC7E,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;;;;SAQhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;;;SAOhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;;;SAOhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;SAehB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA8DhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAmChB,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAChF,MAAM,CAAC,CAAC,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5E,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAMrC;;;;;;;;;;SAUJ,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;gBAC1B;oBACE,MAAM,EAAE,SAAS;oBACjB,eAAe,EAAE,4CAA4C;oBAC7D,aAAa,EAAE,UAAU;oBACzB,yBAAyB,EAAE,IAAI;oBAC/B,kBAAkB,EAAE,IAAI;iBACzB;gBACD;oBACE,MAAM,EAAE,SAAS;oBACjB,eAAe,EAAE,4CAA4C;oBAC7D,aAAa,EAAE,UAAU;oBACzB,yBAAyB,EAAE,IAAI;oBAC/B,kBAAkB,EAAE,IAAI;iBACzB;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,MAAM,CAQpC;;;;;;;;;;;;SAYJ,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;gBACzB;oBACE,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,sBAAsB;oBAC9B,eAAe,EAAE,OAAO;oBACxB,oBAAoB,EAAE,sBAAsB;oBAC5C,aAAa,EAAE;wBACb,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,mBAAmB;wBAC3B,MAAM,EAAE,CAAC,sCAAsC,CAAC;wBAChD,eAAe,EAAE,KAAK;qBACvB;oBACD,qBAAqB,EAAE,mCAAmC;oBAC1D,oBAAoB,EAAE,IAAI;iBAC3B;gBACD;oBACE,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,QAAQ;oBAChB,eAAe,EAAE,OAAO;oBACxB,oBAAoB,EAAE,IAAI;oBAC1B,aAAa,EAAE;wBACb,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,WAAW;wBACnB,KAAK,EAAE,sCAAsC;wBAC7C,OAAO,EAAE,sCAAsC;qBAChD;oBACD,qBAAqB,EAAE,kCAAkC;oBACzD,oBAAoB,EAAE,kCAAkC;iBACzD;gBACD;oBACE,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,mBAAmB;oBAC3B,eAAe,EAAE,OAAO;oBACxB,oBAAoB,EAAE,mBAAmB;oBACzC,aAAa,EAAE,IAAI;oBACnB,qBAAqB,EAAE,gDAAgD;oBACvE,oBAAoB,EAAE,gDAAgD;iBACvE;gBACD;oBACE,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,QAAQ;oBAChB,eAAe,EAAE,OAAO;oBACxB,oBAAoB,EAAE,IAAI;oBAC1B,aAAa,EAAE,IAAI;oBACnB,qBAAqB,EAAE,kCAAkC;oBACzD,oBAAoB,EAAE,kCAAkC;iBACzD;gBACD;oBACE,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,QAAQ;oBAChB,eAAe,EAAE,OAAO;oBACxB,oBAAoB,EAAE,IAAI;oBAC1B,aAAa,EAAE,IAAI;oBACnB,qBAAqB,EAAE,kCAAkC;oBACzD,oBAAoB,EAAE,kCAAkC;iBACzD;aACF,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAA0B;;;;;SAKnE,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,yCAAyC,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,yFAAyF,EACzF,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEpD,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC,6EAA6E,CAAC,CAAC;YAChG,MAAM,GAAG,CAAC,MAAM,CACd,sGAAsG,CACvG,CAAC;YACF,MAAM,GAAG,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC;YAC/E,MAAM,GAAG,CAAC,MAAM,CAAC,kEAAkE,CAAC,CAAC;YACrF,MAAM,GAAG,CAAC,MAAM,CACd,gIAAgI,CACjI,CAAC;YACF,MAAM,GAAG,CAAC,MAAM,CAAC,2DAA2D,CAAC,CAAC;YAC9E,MAAM,GAAG,CAAC,MAAM,CACd,8DAA8D,iBAAiB,GAAG,CACnF,CAAC;YACF,MAAM,GAAG,CAAC,MAAM,CAAC;;;SAGhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;;;SAKhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;SAGhB,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACpE,8FAA8F,CAC/F,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;YACjC,MAAM,EAAE,iBAAiB;YACzB,iBAAiB,EAAE,CAAC,4BAA4B,CAAC;YACjD,MAAM,EAAE,oBAAoB;SAC7B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,MAAM,CAAsB;;;0BAGnD,iBAAiB;SAClC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE3C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CACpC,wEAAwE,CACzE,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YAEpE,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,MAAM,CAAsB;;;;;;;;;;;;;;;;;;;SAmBnE,CAAC,CAAC;YACH,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,qEAAqE,EACrE,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEpD,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAErE,MAAM,GAAG,CAAC,MAAM,CACd,8DAA8D,eAAe,GAAG,CACjF,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAC9B;;;;;;WAMC,CACF,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;YACjC,MAAM,EAAE,iBAAiB;YACzB,iBAAiB,EAAE,CAAC,uBAAuB,CAAC;YAC5C,MAAM,EAAE,oBAAoB;SAC7B,CAAC,CAAC;QAEH,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,uFAAuF,EACvF,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEpD,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,wBAAwB,CAAC,CAAC;YAEvE,MAAM,GAAG,CAAC,MAAM,CACd,8DAA8D,gBAAgB,GAAG,CAClF,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAC9B;;;;;;WAMC,CACF,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;YACjC,MAAM,EAAE,iBAAiB;YACzB,iBAAiB,EAAE,CAAC,wBAAwB,CAAC;YAC7C,MAAM,EAAE,oBAAoB;SAC7B,CAAC,CAAC;QAEH,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,yFAAyF,EACzF,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEpD,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACtC,aAAa,CAAC,2BAA2B,CAAC;gBAC1C,aAAa,CAAC,sBAAsB,CAAC;gBACrC,aAAa,CAAC,uBAAuB,CAAC;aACvC,CAAC,CAAC;YAEH,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,MAAM,GAAG,CAAC,MAAM,CACd,8DAA8D,IAAI,GAAG,CACtE,CAAC;YACJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;YACjC,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,oBAAoB;SAC7B,CAAC,CAAC;QACH,IAAI,YAAY,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,oCAAoC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;YAC7C,2BAA2B;YAC3B,sBAAsB;YACtB,uBAAuB;SACxB,CAAC,CAAC;QAEH,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,qFAAqF,EACrF,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEpD,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC,2EAA2E,CAAC,CAAC;YAC9F,MAAM,GAAG,CAAC,MAAM,CAAC,+EAA+E,CAAC,CAAC;YAClG,MAAM,GAAG,CAAC,MAAM,CAAC,wFAAwF,CAAC,CAAC;YAC3G,MAAM,GAAG,CAAC,MAAM,CAAC,wFAAwF,CAAC,CAAC;YAC3G,MAAM,GAAG,CAAC,MAAM,CAAC,kFAAkF,CAAC,CAAC;YACrG,MAAM,GAAG,CAAC,MAAM,CACd,uGAAuG,CACxG,CAAC;YACF,MAAM,GAAG,CAAC,MAAM,CACd,uGAAuG,CACxG,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE7C,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,MAAM,CACvC;;;;;;;;;;WAUC,CACF,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEnC,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,MAAM,CACvC;;;;;;;;;;;WAWC,CACF,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,yEAAyE,EACzE,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEpD,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,MAAM,aAAa,CAAC,2BAA2B,CAAC,CAAC;YAC7E,MAAM,GAAG,CAAC,MAAM,CACd,uGAAuG,CACxG,CAAC;YACF,MAAM,GAAG,CAAC,MAAM,CACd,8DAA8D,mBAAmB,GAAG,CACrF,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;YACjC,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,oBAAoB;SAC7B,CAAC,CAAC;QACH,IAAI,YAAY,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,oCAAoC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,MAAM,gCAAgC,CAAC,gBAAgB,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;QAE1E,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC7D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,CACpC;;;;;;;WAOC,CACF,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpD,kCAAkC;aACnC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;IAEF,EAAE,CACA,gEAAgE,EAChE,KAAK,IAAI,EAAE;QACT,MAAM,gBAAgB,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEpD,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE/C,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;SAGhB,CAAC,CAAC;YACH,MAAM,GAAG,CAAC,MAAM,CAAC;;;SAGhB,CAAC,CAAC;YACH,MAAM,MAAM,CACV,GAAG,CAAC,MAAM,CAAC;;;WAGV,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,EACD,MAAM,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mcp-connections-schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-connections-schema.test.d.ts","sourceRoot":"","sources":["../src/mcp-connections-schema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,117 @@
1
+ import { getTableConfig } from "drizzle-orm/pg-core";
2
+ import { describe, expect, it } from "vitest";
3
+ import * as schema from "./schema/index.js";
4
+ function exportedTable(name) {
5
+ const value = schema[name];
6
+ expect(value, `${name} must be exported from the database schema`).toBeDefined();
7
+ return value ? value : null;
8
+ }
9
+ function columnNames(table) {
10
+ return getTableConfig(table).columns.map((column) => column.name);
11
+ }
12
+ describe("managed MCP connection schema", () => {
13
+ it("defines organization-owned connection, OAuth grant, and one-time session tables", () => {
14
+ const connections = exportedTable("mcpConnections");
15
+ const grants = exportedTable("mcpOAuthGrants");
16
+ const sessions = exportedTable("mcpOAuthSessions");
17
+ if (!connections || !grants || !sessions)
18
+ return;
19
+ expect(getTableConfig(connections).name).toBe("mcp_connections");
20
+ expect(columnNames(connections)).toEqual(expect.arrayContaining([
21
+ "org_id",
22
+ "legacy_custom_integration_id",
23
+ "credential_secret_id",
24
+ "name",
25
+ "display_name",
26
+ "provider",
27
+ "transport",
28
+ "external_scope",
29
+ "access_mode",
30
+ "status",
31
+ "safe_config",
32
+ "startup_timeout_ms",
33
+ "tool_timeout_ms",
34
+ "enabled",
35
+ "required",
36
+ "last_discovered_at",
37
+ "activated_at",
38
+ "disabled_at",
39
+ "revoked_at",
40
+ "created_at",
41
+ "updated_at",
42
+ ]));
43
+ expect(columnNames(connections)).not.toContain("connect_timeout_ms");
44
+ expect(getTableConfig(grants).name).toBe("mcp_oauth_grants");
45
+ expect(columnNames(grants)).toEqual(expect.arrayContaining([
46
+ "org_id",
47
+ "connection_id",
48
+ "authorizing_user_id",
49
+ "provider_subject",
50
+ "provider_scopes",
51
+ "external_scope_metadata",
52
+ "credential_secret_id",
53
+ "status",
54
+ "status_metadata",
55
+ "expires_at",
56
+ "last_refreshed_at",
57
+ "revoked_at",
58
+ "created_at",
59
+ "updated_at",
60
+ ]));
61
+ expect(getTableConfig(sessions).name).toBe("mcp_oauth_sessions");
62
+ expect(columnNames(sessions)).toEqual(expect.arrayContaining([
63
+ "org_id",
64
+ "connection_id",
65
+ "authorizing_user_id",
66
+ "state_hash",
67
+ "credential_secret_id",
68
+ "redirect_uri",
69
+ "status",
70
+ "status_metadata",
71
+ "expires_at",
72
+ "consumed_at",
73
+ "created_at",
74
+ ]));
75
+ });
76
+ it("declares connection uniqueness and explicit lifecycle indexes", () => {
77
+ const connections = exportedTable("mcpConnections");
78
+ if (!connections)
79
+ return;
80
+ const config = getTableConfig(connections);
81
+ const indexNames = config.indexes.map((index) => index.config.name);
82
+ expect(indexNames).toEqual(expect.arrayContaining([
83
+ "mcp_connections_org_name_uq",
84
+ "mcp_connections_org_provider_scope_uq",
85
+ "mcp_connections_org_status_idx",
86
+ "mcp_connections_legacy_integration_uq",
87
+ ]));
88
+ expect(config.foreignKeys).toHaveLength(3);
89
+ });
90
+ it("extends existing tool, binding, and audit rows for discovered managed MCP tools", () => {
91
+ expect(columnNames(schema.customIntegrationTools)).toEqual(expect.arrayContaining([
92
+ "connection_id",
93
+ "raw_input_schema",
94
+ "input_schema",
95
+ "raw_output_schema",
96
+ "output_schema",
97
+ "enabled",
98
+ "discovered_at",
99
+ "removed_at",
100
+ ]));
101
+ expect(columnNames(schema.agentCustomIntegrationBindings)).toContain("connection_id");
102
+ expect(columnNames(schema.customIntegrationToolCalls)).toEqual(expect.arrayContaining([
103
+ "connection_id",
104
+ "redacted_dispatch_outcome",
105
+ ]));
106
+ expect(getTableConfig(schema.customIntegrationTools).indexes.map((index) => index.config.name)).toContain("custom_integration_tools_connection_external_name_uq");
107
+ });
108
+ it("keeps legacy custom integration references nullable for backward-compatible managed rows", () => {
109
+ const toolColumns = getTableConfig(schema.customIntegrationTools).columns;
110
+ const bindingColumns = getTableConfig(schema.agentCustomIntegrationBindings).columns;
111
+ const callColumns = getTableConfig(schema.customIntegrationToolCalls).columns;
112
+ expect(toolColumns.find((column) => column.name === "integration_id")?.notNull).toBe(false);
113
+ expect(bindingColumns.find((column) => column.name === "integration_id")?.notNull).toBe(false);
114
+ expect(callColumns.find((column) => column.name === "integration_id")?.notNull).toBe(false);
115
+ });
116
+ });
117
+ //# sourceMappingURL=mcp-connections-schema.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-connections-schema.test.js","sourceRoot":"","sources":["../src/mcp-connections-schema.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ CREATE TABLE "mcp_connections" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "org_id" uuid NOT NULL,
4
+ "legacy_custom_integration_id" uuid,
5
+ "credential_secret_id" uuid,
6
+ "name" text NOT NULL,
7
+ "display_name" text NOT NULL,
8
+ "provider" text NOT NULL,
9
+ "transport" text NOT NULL,
10
+ "external_scope" text,
11
+ "access_mode" text DEFAULT 'provider_default' NOT NULL,
12
+ "status" text DEFAULT 'draft' NOT NULL,
13
+ "safe_config" jsonb DEFAULT '{}'::jsonb NOT NULL,
14
+ "startup_timeout_ms" integer DEFAULT 10000 NOT NULL,
15
+ "tool_timeout_ms" integer DEFAULT 60000 NOT NULL,
16
+ "enabled" boolean DEFAULT true NOT NULL,
17
+ "required" boolean DEFAULT false NOT NULL,
18
+ "last_discovered_at" timestamp with time zone,
19
+ "activated_at" timestamp with time zone,
20
+ "disabled_at" timestamp with time zone,
21
+ "revoked_at" timestamp with time zone,
22
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
23
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL,
24
+ CONSTRAINT "mcp_connections_legacy_manual_disabled_check" CHECK ("mcp_connections"."transport" <> 'legacy_manual' or "mcp_connections"."enabled" = false),
25
+ CONSTRAINT "mcp_connections_positive_timeouts_check" CHECK ("mcp_connections"."startup_timeout_ms" > 0 and "mcp_connections"."tool_timeout_ms" > 0)
26
+ );
27
+ --> statement-breakpoint
28
+ CREATE TABLE "mcp_oauth_grants" (
29
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
30
+ "org_id" uuid NOT NULL,
31
+ "connection_id" uuid NOT NULL,
32
+ "authorizing_user_id" text,
33
+ "provider_subject" text,
34
+ "provider_scopes" jsonb DEFAULT '[]'::jsonb NOT NULL,
35
+ "external_scope_metadata" jsonb DEFAULT '{}'::jsonb NOT NULL,
36
+ "credential_secret_id" uuid NOT NULL,
37
+ "status" text DEFAULT 'active' NOT NULL,
38
+ "status_metadata" jsonb DEFAULT '{}'::jsonb NOT NULL,
39
+ "expires_at" timestamp with time zone,
40
+ "last_refreshed_at" timestamp with time zone,
41
+ "revoked_at" timestamp with time zone,
42
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
43
+ "updated_at" timestamp with time zone DEFAULT now() NOT NULL
44
+ );
45
+ --> statement-breakpoint
46
+ CREATE TABLE "mcp_oauth_sessions" (
47
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
48
+ "org_id" uuid NOT NULL,
49
+ "connection_id" uuid NOT NULL,
50
+ "authorizing_user_id" text,
51
+ "state_hash" text NOT NULL,
52
+ "credential_secret_id" uuid NOT NULL,
53
+ "redirect_uri" text NOT NULL,
54
+ "status" text DEFAULT 'authorizing' NOT NULL,
55
+ "status_metadata" jsonb DEFAULT '{}'::jsonb NOT NULL,
56
+ "expires_at" timestamp with time zone DEFAULT now() + interval '10 minutes' NOT NULL,
57
+ "consumed_at" timestamp with time zone,
58
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL,
59
+ CONSTRAINT "mcp_oauth_sessions_ten_minute_lifetime_check" CHECK ("mcp_oauth_sessions"."expires_at" <= "mcp_oauth_sessions"."created_at" + interval '10 minutes'),
60
+ CONSTRAINT "mcp_oauth_sessions_consumed_after_create_check" CHECK ("mcp_oauth_sessions"."consumed_at" is null or "mcp_oauth_sessions"."consumed_at" >= "mcp_oauth_sessions"."created_at")
61
+ );
62
+ --> statement-breakpoint
63
+ ALTER TABLE "agent_custom_integration_bindings" ALTER COLUMN "integration_id" DROP NOT NULL;--> statement-breakpoint
64
+ ALTER TABLE "custom_integration_tool_calls" ALTER COLUMN "integration_id" DROP NOT NULL;--> statement-breakpoint
65
+ ALTER TABLE "custom_integration_tools" ALTER COLUMN "integration_id" DROP NOT NULL;--> statement-breakpoint
66
+ ALTER TABLE "agent_custom_integration_bindings" ADD COLUMN "connection_id" uuid;--> statement-breakpoint
67
+ ALTER TABLE "custom_integration_tool_calls" ADD COLUMN "connection_id" uuid;--> statement-breakpoint
68
+ ALTER TABLE "custom_integration_tool_calls" ADD COLUMN "redacted_dispatch_outcome" jsonb;--> statement-breakpoint
69
+ ALTER TABLE "custom_integration_tools" ADD COLUMN "connection_id" uuid;--> statement-breakpoint
70
+ ALTER TABLE "custom_integration_tools" ADD COLUMN "raw_input_schema" jsonb;--> statement-breakpoint
71
+ ALTER TABLE "custom_integration_tools" ADD COLUMN "raw_output_schema" jsonb;--> statement-breakpoint
72
+ ALTER TABLE "custom_integration_tools" ADD COLUMN "output_schema" jsonb;--> statement-breakpoint
73
+ ALTER TABLE "custom_integration_tools" ADD COLUMN "enabled" boolean DEFAULT true NOT NULL;--> statement-breakpoint
74
+ ALTER TABLE "custom_integration_tools" ADD COLUMN "discovered_at" timestamp with time zone;--> statement-breakpoint
75
+ ALTER TABLE "custom_integration_tools" ADD COLUMN "removed_at" timestamp with time zone;--> statement-breakpoint
76
+ ALTER TABLE "mcp_connections" ADD CONSTRAINT "mcp_connections_org_id_organizations_id_fk" FOREIGN KEY ("org_id") REFERENCES "public"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
77
+ ALTER TABLE "mcp_connections" ADD CONSTRAINT "mcp_connections_legacy_custom_integration_id_custom_integrations_id_fk" FOREIGN KEY ("legacy_custom_integration_id") REFERENCES "public"."custom_integrations"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
78
+ ALTER TABLE "mcp_connections" ADD CONSTRAINT "mcp_connections_credential_secret_id_organization_secrets_id_fk" FOREIGN KEY ("credential_secret_id") REFERENCES "public"."organization_secrets"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
79
+ ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_org_id_organizations_id_fk" FOREIGN KEY ("org_id") REFERENCES "public"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
80
+ ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_connection_id_mcp_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."mcp_connections"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
81
+ ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_authorizing_user_id_user_id_fk" FOREIGN KEY ("authorizing_user_id") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
82
+ ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_credential_secret_id_organization_secrets_id_fk" FOREIGN KEY ("credential_secret_id") REFERENCES "public"."organization_secrets"("id") ON DELETE restrict ON UPDATE no action;--> statement-breakpoint
83
+ ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_org_id_organizations_id_fk" FOREIGN KEY ("org_id") REFERENCES "public"."organizations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
84
+ ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_connection_id_mcp_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."mcp_connections"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
85
+ ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_authorizing_user_id_user_id_fk" FOREIGN KEY ("authorizing_user_id") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
86
+ ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_credential_secret_id_organization_secrets_id_fk" FOREIGN KEY ("credential_secret_id") REFERENCES "public"."organization_secrets"("id") ON DELETE restrict ON UPDATE no action;--> statement-breakpoint
87
+ INSERT INTO "mcp_connections" (
88
+ "id",
89
+ "org_id",
90
+ "legacy_custom_integration_id",
91
+ "credential_secret_id",
92
+ "name",
93
+ "display_name",
94
+ "provider",
95
+ "transport",
96
+ "access_mode",
97
+ "status",
98
+ "safe_config",
99
+ "enabled",
100
+ "required",
101
+ "disabled_at",
102
+ "revoked_at",
103
+ "created_at",
104
+ "updated_at"
105
+ )
106
+ SELECT
107
+ "id",
108
+ "org_id",
109
+ "id",
110
+ "credential_secret_id",
111
+ "slug",
112
+ "display_name",
113
+ 'custom',
114
+ 'legacy_manual',
115
+ 'provider_default',
116
+ 'disabled',
117
+ '{"legacyConfigRetained":true}'::jsonb,
118
+ false,
119
+ false,
120
+ "updated_at",
121
+ "revoked_at",
122
+ "created_at",
123
+ "updated_at"
124
+ FROM "custom_integrations"
125
+ WHERE "kind" = 'mcp_server'
126
+ ON CONFLICT DO NOTHING;--> statement-breakpoint
127
+ UPDATE "custom_integration_tools" AS "tool"
128
+ SET
129
+ "connection_id" = "tool"."integration_id",
130
+ "raw_input_schema" = "tool"."input_schema",
131
+ "discovered_at" = COALESCE("tool"."discovered_at", "tool"."created_at")
132
+ FROM "custom_integrations" AS "integration"
133
+ WHERE
134
+ "integration"."id" = "tool"."integration_id"
135
+ AND "integration"."kind" = 'mcp_server';--> statement-breakpoint
136
+ UPDATE "agent_custom_integration_bindings" AS "binding"
137
+ SET "connection_id" = "binding"."integration_id"
138
+ FROM "custom_integrations" AS "integration"
139
+ WHERE
140
+ "integration"."id" = "binding"."integration_id"
141
+ AND "integration"."kind" = 'mcp_server';--> statement-breakpoint
142
+ UPDATE "custom_integration_tool_calls" AS "call"
143
+ SET
144
+ "connection_id" = "call"."integration_id",
145
+ "redacted_dispatch_outcome" = jsonb_strip_nulls(jsonb_build_object(
146
+ 'status', "call"."status",
147
+ 'errorCode', "call"."error_code"
148
+ ))
149
+ FROM "custom_integrations" AS "integration"
150
+ WHERE
151
+ "integration"."id" = "call"."integration_id"
152
+ AND "integration"."kind" = 'mcp_server';--> statement-breakpoint
153
+ CREATE UNIQUE INDEX "mcp_connections_org_name_uq" ON "mcp_connections" USING btree ("org_id","name");--> statement-breakpoint
154
+ CREATE UNIQUE INDEX "mcp_connections_org_provider_scope_uq" ON "mcp_connections" USING btree ("org_id","provider","external_scope") WHERE "mcp_connections"."provider" <> 'custom' and "mcp_connections"."external_scope" is not null;--> statement-breakpoint
155
+ CREATE INDEX "mcp_connections_org_status_idx" ON "mcp_connections" USING btree ("org_id","status");--> statement-breakpoint
156
+ CREATE INDEX "mcp_connections_org_provider_idx" ON "mcp_connections" USING btree ("org_id","provider");--> statement-breakpoint
157
+ CREATE UNIQUE INDEX "mcp_connections_legacy_integration_uq" ON "mcp_connections" USING btree ("legacy_custom_integration_id") WHERE "mcp_connections"."legacy_custom_integration_id" is not null;--> statement-breakpoint
158
+ CREATE INDEX "mcp_connections_credential_secret_idx" ON "mcp_connections" USING btree ("credential_secret_id");--> statement-breakpoint
159
+ CREATE UNIQUE INDEX "mcp_oauth_grants_connection_uq" ON "mcp_oauth_grants" USING btree ("connection_id");--> statement-breakpoint
160
+ CREATE INDEX "mcp_oauth_grants_org_status_idx" ON "mcp_oauth_grants" USING btree ("org_id","status");--> statement-breakpoint
161
+ CREATE INDEX "mcp_oauth_grants_authorizing_user_idx" ON "mcp_oauth_grants" USING btree ("authorizing_user_id");--> statement-breakpoint
162
+ CREATE INDEX "mcp_oauth_grants_credential_secret_idx" ON "mcp_oauth_grants" USING btree ("credential_secret_id");--> statement-breakpoint
163
+ CREATE UNIQUE INDEX "mcp_oauth_sessions_state_hash_uq" ON "mcp_oauth_sessions" USING btree ("state_hash");--> statement-breakpoint
164
+ CREATE INDEX "mcp_oauth_sessions_org_connection_idx" ON "mcp_oauth_sessions" USING btree ("org_id","connection_id");--> statement-breakpoint
165
+ CREATE INDEX "mcp_oauth_sessions_expiry_idx" ON "mcp_oauth_sessions" USING btree ("expires_at");--> statement-breakpoint
166
+ CREATE INDEX "mcp_oauth_sessions_credential_secret_idx" ON "mcp_oauth_sessions" USING btree ("credential_secret_id");--> statement-breakpoint
167
+ ALTER TABLE "agent_custom_integration_bindings" ADD CONSTRAINT "agent_custom_integration_bindings_connection_id_mcp_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."mcp_connections"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
168
+ ALTER TABLE "custom_integration_tool_calls" ADD CONSTRAINT "custom_integration_tool_calls_connection_id_mcp_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."mcp_connections"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
169
+ ALTER TABLE "custom_integration_tools" ADD CONSTRAINT "custom_integration_tools_connection_id_mcp_connections_id_fk" FOREIGN KEY ("connection_id") REFERENCES "public"."mcp_connections"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
170
+ CREATE INDEX "agent_custom_integration_bindings_org_connection_idx" ON "agent_custom_integration_bindings" USING btree ("org_id","connection_id");--> statement-breakpoint
171
+ CREATE UNIQUE INDEX "agent_custom_integration_bindings_agent_connection_uq" ON "agent_custom_integration_bindings" USING btree ("org_id","agent_id","connection_id") WHERE "agent_custom_integration_bindings"."connection_id" is not null;--> statement-breakpoint
172
+ CREATE INDEX "custom_integration_tool_calls_org_connection_started_idx" ON "custom_integration_tool_calls" USING btree ("org_id","connection_id","started_at");--> statement-breakpoint
173
+ CREATE INDEX "custom_integration_tools_org_connection_idx" ON "custom_integration_tools" USING btree ("org_id","connection_id");--> statement-breakpoint
174
+ ALTER TABLE "agent_custom_integration_bindings" ADD CONSTRAINT "agent_custom_integration_bindings_owner_check" CHECK ("agent_custom_integration_bindings"."integration_id" is not null or "agent_custom_integration_bindings"."connection_id" is not null);--> statement-breakpoint
175
+ ALTER TABLE "custom_integration_tool_calls" ADD CONSTRAINT "custom_integration_tool_calls_owner_check" CHECK ("custom_integration_tool_calls"."integration_id" is not null or "custom_integration_tool_calls"."connection_id" is not null);--> statement-breakpoint
176
+ ALTER TABLE "custom_integration_tools" ADD CONSTRAINT "custom_integration_tools_owner_check" CHECK ("custom_integration_tools"."integration_id" is not null or "custom_integration_tools"."connection_id" is not null);
@@ -0,0 +1 @@
1
+ CREATE UNIQUE INDEX "custom_integration_tools_connection_external_name_uq" ON "custom_integration_tools" USING btree ("connection_id","external_tool_name") WHERE "custom_integration_tools"."connection_id" is not null;
@@ -0,0 +1,16 @@
1
+ ALTER TABLE "organization_secrets" ADD COLUMN "purpose" text DEFAULT 'user_managed' NOT NULL;--> statement-breakpoint
2
+ UPDATE "organization_secrets"
3
+ SET "purpose" = 'managed_mcp_connection'
4
+ WHERE "id" IN (
5
+ SELECT "credential_secret_id"
6
+ FROM "mcp_connections"
7
+ WHERE "credential_secret_id" IS NOT NULL
8
+ );--> statement-breakpoint
9
+ UPDATE "organization_secrets"
10
+ SET "purpose" = 'managed_mcp_oauth'
11
+ WHERE "id" IN (
12
+ SELECT "credential_secret_id" FROM "mcp_oauth_grants"
13
+ UNION
14
+ SELECT "credential_secret_id" FROM "mcp_oauth_sessions"
15
+ );--> statement-breakpoint
16
+ CREATE INDEX "organization_secrets_org_purpose_idx" ON "organization_secrets" USING btree ("org_id","purpose");
@@ -0,0 +1,10 @@
1
+ ALTER TABLE "mcp_oauth_grants" DROP CONSTRAINT "mcp_oauth_grants_credential_secret_id_organization_secrets_id_fk";
2
+ --> statement-breakpoint
3
+ ALTER TABLE "mcp_oauth_sessions" DROP CONSTRAINT "mcp_oauth_sessions_credential_secret_id_organization_secrets_id_fk";
4
+ --> statement-breakpoint
5
+ ALTER TABLE "mcp_oauth_grants" ALTER COLUMN "credential_secret_id" DROP NOT NULL;--> statement-breakpoint
6
+ ALTER TABLE "mcp_oauth_sessions" ALTER COLUMN "credential_secret_id" DROP NOT NULL;--> statement-breakpoint
7
+ ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_credential_secret_id_organization_secrets_id_fk" FOREIGN KEY ("credential_secret_id") REFERENCES "public"."organization_secrets"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
8
+ ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_credential_secret_id_organization_secrets_id_fk" FOREIGN KEY ("credential_secret_id") REFERENCES "public"."organization_secrets"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
9
+ ALTER TABLE "mcp_oauth_grants" ADD CONSTRAINT "mcp_oauth_grants_active_credential_check" CHECK ("mcp_oauth_grants"."status" <> 'active' or "mcp_oauth_grants"."credential_secret_id" is not null);--> statement-breakpoint
10
+ ALTER TABLE "mcp_oauth_sessions" ADD CONSTRAINT "mcp_oauth_sessions_authorizing_credential_check" CHECK ("mcp_oauth_sessions"."status" <> 'authorizing' or "mcp_oauth_sessions"."credential_secret_id" is not null);
@@ -0,0 +1,2 @@
1
+ ALTER TABLE "mcp_oauth_grants" ADD COLUMN "refresh_lease_nonce" text;--> statement-breakpoint
2
+ ALTER TABLE "mcp_oauth_grants" ADD COLUMN "refresh_lease_expires_at" timestamp with time zone;
@@ -0,0 +1 @@
1
+ ALTER TABLE "mcp_connections" ADD COLUMN "lifecycle_revision" integer DEFAULT 0 NOT NULL;
@@ -0,0 +1,67 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { describe, expect, it } from "vitest";
4
+
5
+ const migrationsDirectory = path.dirname(new URL(import.meta.url).pathname);
6
+ const migrationFilename = fs.readdirSync(migrationsDirectory)
7
+ .find((filename) => /^0111_.*\.sql$/.test(filename));
8
+ if (!migrationFilename) throw new Error("Expected generated 0111 managed MCP migration");
9
+ const migrationPath = path.join(migrationsDirectory, migrationFilename);
10
+ const oauthLifecycleMigrationFilename = fs.readdirSync(migrationsDirectory)
11
+ .find((filename) => /^0114_.*\.sql$/.test(filename));
12
+ if (!oauthLifecycleMigrationFilename) {
13
+ throw new Error("Expected generated 0114 managed MCP OAuth lifecycle migration");
14
+ }
15
+ const oauthLifecycleMigrationPath = path.join(
16
+ migrationsDirectory,
17
+ oauthLifecycleMigrationFilename,
18
+ );
19
+ const oauthRefreshLeaseMigrationFilename = fs.readdirSync(migrationsDirectory)
20
+ .find((filename) => /^0115_.*\.sql$/.test(filename));
21
+ if (!oauthRefreshLeaseMigrationFilename) {
22
+ throw new Error("Expected generated 0115 managed MCP OAuth refresh lease migration");
23
+ }
24
+ const oauthRefreshLeaseMigrationPath = path.join(
25
+ migrationsDirectory,
26
+ oauthRefreshLeaseMigrationFilename,
27
+ );
28
+
29
+ describe("managed MCP connection migration", () => {
30
+ it("backfills legacy MCP definitions as disabled non-executable connections", () => {
31
+ const sql = fs.readFileSync(migrationPath, "utf8");
32
+
33
+ expect(sql).toMatch(/INSERT INTO "mcp_connections"/);
34
+ expect(sql).toMatch(/WHERE "kind" = 'mcp_server'/);
35
+ expect(sql).toMatch(/'legacy_manual'/);
36
+ expect(sql).toMatch(/false,\s*false/);
37
+ expect(sql).toMatch(/ON CONFLICT DO NOTHING/);
38
+ expect(sql).toMatch(/"startup_timeout_ms" integer DEFAULT 10000 NOT NULL/);
39
+ expect(sql).not.toContain("connect_timeout_ms");
40
+ });
41
+
42
+ it("links legacy tools, bindings, and audit rows to their backfilled connection", () => {
43
+ const sql = fs.readFileSync(migrationPath, "utf8");
44
+
45
+ expect(sql).toMatch(/UPDATE "custom_integration_tools" AS "tool"[\s\S]*SET\s+"connection_id" = "tool"\."integration_id"/);
46
+ expect(sql).toMatch(/UPDATE "agent_custom_integration_bindings" AS "binding"[\s\S]*SET "connection_id" = "binding"\."integration_id"/);
47
+ expect(sql).toMatch(/UPDATE "custom_integration_tool_calls" AS "call"[\s\S]*SET\s+"connection_id" = "call"\."integration_id"/);
48
+ });
49
+
50
+ it("allows consumed and revoked rows to delete secrets while requiring live credentials", () => {
51
+ const sql = fs.readFileSync(oauthLifecycleMigrationPath, "utf8");
52
+
53
+ expect(sql).toMatch(/"mcp_oauth_grants" ALTER COLUMN "credential_secret_id" DROP NOT NULL/);
54
+ expect(sql).toMatch(/"mcp_oauth_sessions" ALTER COLUMN "credential_secret_id" DROP NOT NULL/);
55
+ expect(sql).toMatch(/mcp_oauth_grants_credential_secret_id_organization_secrets_id_fk[\s\S]*ON DELETE set null/);
56
+ expect(sql).toMatch(/mcp_oauth_sessions_credential_secret_id_organization_secrets_id_fk[\s\S]*ON DELETE set null/);
57
+ expect(sql).toMatch(/mcp_oauth_grants_active_credential_check/);
58
+ expect(sql).toMatch(/mcp_oauth_sessions_authorizing_credential_check/);
59
+ });
60
+
61
+ it("persists a cross-process OAuth refresh lease nonce and expiry", () => {
62
+ const sql = fs.readFileSync(oauthRefreshLeaseMigrationPath, "utf8");
63
+
64
+ expect(sql).toMatch(/ADD COLUMN "refresh_lease_nonce" text/);
65
+ expect(sql).toMatch(/ADD COLUMN "refresh_lease_expires_at" timestamp with time zone/);
66
+ });
67
+ });