mandala-computer-mcp 0.1.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 (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +544 -0
  3. package/dist/api.d.ts +186 -0
  4. package/dist/api.d.ts.map +1 -0
  5. package/dist/api.js +932 -0
  6. package/dist/api.js.map +1 -0
  7. package/dist/cli.d.ts +55 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +292 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/errors.d.ts +560 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +873 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/events.d.ts +406 -0
  16. package/dist/events.d.ts.map +1 -0
  17. package/dist/events.js +1679 -0
  18. package/dist/events.js.map +1 -0
  19. package/dist/format.d.ts +125 -0
  20. package/dist/format.d.ts.map +1 -0
  21. package/dist/format.js +180 -0
  22. package/dist/format.js.map +1 -0
  23. package/dist/http.d.ts +46 -0
  24. package/dist/http.d.ts.map +1 -0
  25. package/dist/http.js +792 -0
  26. package/dist/http.js.map +1 -0
  27. package/dist/index.d.ts +13 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +12 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/paths.d.ts +394 -0
  32. package/dist/paths.d.ts.map +1 -0
  33. package/dist/paths.js +677 -0
  34. package/dist/paths.js.map +1 -0
  35. package/dist/server.d.ts +18 -0
  36. package/dist/server.d.ts.map +1 -0
  37. package/dist/server.js +97 -0
  38. package/dist/server.js.map +1 -0
  39. package/dist/session.d.ts +78 -0
  40. package/dist/session.d.ts.map +1 -0
  41. package/dist/session.js +166 -0
  42. package/dist/session.js.map +1 -0
  43. package/dist/stdio.d.ts +11 -0
  44. package/dist/stdio.d.ts.map +1 -0
  45. package/dist/stdio.js +43 -0
  46. package/dist/stdio.js.map +1 -0
  47. package/dist/tools/agent.d.ts +16 -0
  48. package/dist/tools/agent.d.ts.map +1 -0
  49. package/dist/tools/agent.js +147 -0
  50. package/dist/tools/agent.js.map +1 -0
  51. package/dist/tools/computers.d.ts +3 -0
  52. package/dist/tools/computers.d.ts.map +1 -0
  53. package/dist/tools/computers.js +1037 -0
  54. package/dist/tools/computers.js.map +1 -0
  55. package/dist/tools/events.d.ts +3 -0
  56. package/dist/tools/events.d.ts.map +1 -0
  57. package/dist/tools/events.js +1077 -0
  58. package/dist/tools/events.js.map +1 -0
  59. package/dist/tools/guest.d.ts +3 -0
  60. package/dist/tools/guest.d.ts.map +1 -0
  61. package/dist/tools/guest.js +761 -0
  62. package/dist/tools/guest.js.map +1 -0
  63. package/dist/tools/input.d.ts +3 -0
  64. package/dist/tools/input.d.ts.map +1 -0
  65. package/dist/tools/input.js +240 -0
  66. package/dist/tools/input.js.map +1 -0
  67. package/dist/tools/snapshots.d.ts +3 -0
  68. package/dist/tools/snapshots.d.ts.map +1 -0
  69. package/dist/tools/snapshots.js +333 -0
  70. package/dist/tools/snapshots.js.map +1 -0
  71. package/dist/tools/templates.d.ts +3 -0
  72. package/dist/tools/templates.d.ts.map +1 -0
  73. package/dist/tools/templates.js +492 -0
  74. package/dist/tools/templates.js.map +1 -0
  75. package/dist/tools/types.d.ts +18 -0
  76. package/dist/tools/types.d.ts.map +1 -0
  77. package/dist/tools/types.js +2 -0
  78. package/dist/tools/types.js.map +1 -0
  79. package/dist/tools/webhooks.d.ts +3 -0
  80. package/dist/tools/webhooks.d.ts.map +1 -0
  81. package/dist/tools/webhooks.js +260 -0
  82. package/dist/tools/webhooks.js.map +1 -0
  83. package/package.json +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAiB,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAoBhC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAuB,CAAC,GAAG,EAAE,EAAE,CAC5D,IAAI,eAAe,CAAC,GAAG,CAA2B,CAAC;AAuDrD;;;;;;;;;GASG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;AAEjE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAE7B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,YAAY,CAAC,8BAA8B,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,oBAAoB,EAAE,CAAC;QAC5D,MAAM,IAAI,YAAY,CACpB,+BAA+B,oBAAoB,sBAAsB;YACvE,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CACxC,CAAC;IACJ,CAAC;IACD,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;QAC1D,MAAM,IAAI,YAAY,CAAC,kCAAkC,CAAC,CAAC;IAC7D,CAAC;IACD,4EAA4E;IAC5E,2EAA2E;IAC3E,kDAAkD;IAClD,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,YAAY,CAAC,gDAAgD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,YAAY,CACpB,sCAAsC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gCAAgC;YACzF,sFAAsF;YACtF,cAAc,CACjB,CAAC;IACJ,CAAC;IACD,6EAA6E;IAC7E,uEAAuE;IACvE,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,4EAA4E;IAC5E,uEAAuE;IACvE,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,YAAY,CACpB,2FAA2F;YACzF,wFAAwF;YACxF,kDAAkD,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AAEjC,oEAAoE;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC;AAEvC,+CAA+C;AAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC;AAExB,wFAAwF;AACxF,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,4DAA4D;AAC5D,MAAM,kBAAkB,GAAG,MAAM,CAAC;AA+BlC;;;;;;;GAOG;AACH,MAAM,OAAO,YAAY;IACd,UAAU,CAAS;IACnB,IAAI,CAAM;IACV,UAAU,CAAqB;IAExC,KAAK,GAAe,EAAE,CAAC;IACvB,qEAAqE;IACrE,UAAU,GAAG,CAAC,CAAC;IACf,0DAA0D;IAC1D,UAAU,GAAG,CAAC,CAAC;IACf,+EAA+E;IAC/E,KAAK,GAAG,KAAK,CAAC;IACd,KAAK,CAAQ;IACb,yEAAyE;IACzE,OAAO,CAAU;IACjB;;;;;;;OAOG;IACH,MAAM,CAAU;IAChB,oEAAoE;IACpE,gBAAgB,CAAU;IAC1B,MAAM,CAAS;IACf,MAAM,CAAY;IAClB;;;;;;;;OAQG;IACH,QAAQ,GAAa,EAAE,CAAC;IACxB;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,6EAA6E;IAC7E,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IACpC;;;;;;;;;OASG;IACH,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpC;;;;;;;;;;OAUG;IACH,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC;;;;;;;;;;OAUG;IACH,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC;;;;;;;OAOG;IACH,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC;;;;;;;OAOG;IACH,cAAc,CAAU;IACxB;;;;;;;OAOG;IACH,aAAa,GAAG,KAAK,CAAC;IACtB,2EAA2E;IAC3E,SAAS,GAAa,EAAE,CAAC;IACzB,kFAAkF;IAClF,gBAAgB,GAAG,CAAC,CAAC;IACrB;;;;;;;;OAQG;IACH,eAAe,CAAW;IAC1B;;;;;;;;;;;;OAYG;IACH,KAAK,GAAa,EAAE,CAAC;IACrB,QAAQ,GAAG,KAAK,CAAC;IACjB;;;;;;;;OAQG;IACH,WAAW,GAAG,KAAK,CAAC;IACpB,MAAM,GAAsB,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACrD,KAAK,GAAG,IAAI,GAAG,EAAc,CAAC;IAC9B,OAAO,CAAe;IACtB,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IAC/B,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,QAAQ,GAAG,KAAK,CAAC;IAEjB,YACE,GAAQ,EACR,UAAkB,EAClB,SAA6B,EAC7B,KAAc,EACd,UAAoB,EAAE;QAEtB,0EAA0E;QAC1E,4EAA4E;QAC5E,kEAAkE;QAClE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,yEAAyE;QACzE,sEAAsE;QACtE,0DAA0D;QAC1D,2DAA2D;QAC3D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,uEAAuE;QACvE,sEAAsE;QACtE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,sEAAsE;IACtE,IAAI,WAAW;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,+EAA+E;IAC/E,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACzB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI;SACtC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,oFAAoF;IACpF,QAAQ,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;IACpD,CAAC;IAED,oDAAoD;IACpD,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,kFAAkF;IAClF,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,2EAA2E;IAC3E,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,gEAAgE;IAChE,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,2FAA2F;IAC3F,eAAe,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,yDAAyD;IACzD,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,6EAA6E;QAC7E,wEAAwE;QACxE,0EAA0E;QAC1E,4EAA4E;QAC5E,yEAAyE;QACzE,yEAAyE;QACzE,aAAa;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;QACjF,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClE,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACZ,0EAA0E;YAC1E,wEAAwE;YACxE,wEAAwE;YACxE,iDAAiD;YACjD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,sEAAsE;YACtE,+CAA+C;YAC/C,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,CAAC;YACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,OAA2B,CAAC;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;YACvC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnC,wEAAwE;gBACxE,sEAAsE;gBACtE,uCAAuC;gBACvC,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO;oBAAE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gBACrE,iEAAiE;gBACjE,wEAAwE;gBACxE,uEAAuE;gBACvE,wEAAwE;gBACxE,yEAAyE;gBACzE,sEAAsE;gBACtE,oCAAoC;YACtC,CAAC;QACH,CAAC;QACD,yEAAyE;QACzE,4EAA4E;QAC5E,sEAAsE;QACtE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,mEAAmE;IACnE,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,MAAM,GAAG,6BAA6B;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,oDAAoD;IACpD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACnE,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,CAAC,OAA4D,EAAE,KAAK,EAAE,GAAG,EAAE;QAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QAC1E,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,0EAA0E;QAC1E,IAAI,KAAK,GAAG,MAAM,CAAC;QACnB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjD,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC7B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE;gBAAE,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,OAAO;YAClB,CAAC,CAAC;gBACE,qEAAqE;gBACrE,qEAAqE;gBACrE,8CAA8C;gBAC9C,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,OAAO;gBAChF,MAAM,EAAE,IAAI,CAAC,KAAK;oBAChB,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,SAAS,OAAO,8EAA8E;oBACpH,CAAC,CAAC,GAAG,OAAO,sFAAsF;aACrG;YACH,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QAEvB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC5B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACpD,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,WAAW,CAAC,KAAc;QACxB,uEAAuE;QACvE,0EAA0E;QAC1E,mBAAmB;QACnB,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;QACjE,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7C,gEAAgE;QAChE,4EAA4E;QAC5E,yEAAyE;QACzE,oDAAoD;QACpD,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QACvD,0EAA0E;QAC1E,4EAA4E;QAC5E,wEAAwE;QACxE,0EAA0E;QAC1E,oDAAoD;QACpD,IAAI,CAAC,KAAK,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EACJ,wFAAwF;gBACxF,oCAAoC;SACvC,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CACX,OAAuC,EACvC,QAAqB,EACrB,MAAoB,EACpB,KAAc,EACd,OAAuB;QAEvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,SAAS,CAAC;YACR,wEAAwE;YACxE,wEAAwE;YACxE,0EAA0E;YAC1E,0EAA0E;YAC1E,gEAAgE;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACxE,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC,KAAK,CAAC;YAC1B,IAAI,QAAQ,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO;gBAAE,OAAO,SAAS,CAAC;YAC1D,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YACvD,qEAAqE;YACrE,qEAAqE;YACrE,wEAAwE;YACxE,mEAAmE;YACnE,sEAAsE;YACtE,wDAAwD;YACxD,IAAI,OAAO,EAAE,EAAE;gBAAE,OAAO,SAAS,CAAC;YAClC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAqB,EAAE,MAAoB;QACxD,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACxD,IAAI,QAAQ,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO;gBAAE,OAAO;YAChD,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,QAAqB,EAAE,MAAoB;QACvE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACtE,IAAI,QAAQ,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO;gBAAE,OAAO;YAChD,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBAAE,OAAO;YACvC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,IAAY;QAC1B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,IAAI,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,QAAqB,EAAE,MAAoB;QACvE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/D,IAAI,QAAQ,CAAC,OAAO,IAAI,MAAM,EAAE,OAAO;gBAAE,OAAO;YAChD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,aAAa;gBAAE,OAAO;YACxD,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBAAE,OAAO;YACvC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,QAAqB,EAAE,MAAoB;QAC/C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC5C,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC3C,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gFAAgF;IAChF,SAAS,CAAC,IAAe;QACvB,MAAM,MAAM,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QAClC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QACxD,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;IACnD,CAAC;IAED,QAAQ;QACN,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,KAAoB;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;YACvE,wEAAwE;YACxE,0EAA0E;YAC1E,8BAA8B;YAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YACxE,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;gBAClC,IAAI,CAAC,KAAK,GAAG;oBACX,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,MAAM;oBACvD,MAAM,EACJ,aAAa,YAAY,2DAA2D;wBACpF,0CAA0C;iBAC7C,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gEAAgE;YAChE,uEAAuE;YACvE,2BAA2B;YAC3B,IAAI,CAAC,MAAM,GAAG;gBACZ,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,4BAA4B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aACvF,CAAC;YACF,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,OAAO,GAAG,UAAU,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;gBACvC,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YACD,uEAAuE;YACvE,0EAA0E;YAC1E,uEAAuE;YACvE,sEAAsE;YACtE,yEAAyE;YACzE,qEAAqE;YACrE,yEAAyE;YACzE,oCAAoC;YACpC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YACvC,yEAAyE;YACzE,0EAA0E;YAC1E,2EAA2E;YAC3E,yEAAyE;YACzE,mEAAmE;YACnE,yEAAyE;YACzE,yEAAyE;YACzE,iDAAiD;YACjD,EAAE;YACF,oEAAoE;YACpE,sEAAsE;YACtE,uEAAuE;YACvE,0DAA0D;YAC1D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,sEAAsE;YACtE,wEAAwE;YACxE,mEAAmE;YACnE,+DAA+D;YAC/D,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;YACvE,yEAAyE;YACzE,sEAAsE;YACtE,sEAAsE;YACtE,yEAAyE;YACzE,WAAW;YACX,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7B,sEAAsE;YACtE,yEAAyE;YACzE,qEAAqE;YACrE,uEAAuE;YACvE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAW,CAAC;QAChB,IAAI,CAAC;YACH,wEAAwE;YACxE,oEAAoE;YACpE,gEAAgE;YAChE,CAAC,GAAG,cAAc,CAChB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAClF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,sEAAsE;YACtE,sEAAsE;YACtE,mEAAmE;YACnE,8BAA8B;YAC9B,IAAI,GAAG,YAAY,KAAK,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1F,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;QACrC,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,IAAI,YAAY,CACpB,GAAG,IAAI,CAAC,UAAU,yEAAyE;gBACzF,sFAAsF;gBACtF,qEAAqE,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YACtD,MAAM,IAAI,YAAY,CACpB,GAAG,IAAI,CAAC,UAAU,OAAO,MAAM,qDAAqD;gBAClF,iCAAiC,CACpC,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,wEAAwE;YACxE,uEAAuE;YACvE,iEAAiE;YACjE,uEAAuE;YACvE,yEAAyE;YACzE,uDAAuD;YACvD,MAAM,IAAI,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,OAAO,MAAM,gCAAgC,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,GAA0C,CAAC;QACzD,MAAM,GAAG,GAAG,OAAO,GAAG,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7E,IAAI,GAAG,EAAE,CAAC;YACR,0EAA0E;YAC1E,wEAAwE;YACxE,0EAA0E;YAC1E,sEAAsE;YACtE,EAAE;YACF,wEAAwE;YACxE,0EAA0E;YAC1E,yEAAyE;YACzE,mEAAmE;YACnE,mEAAmE;YACnE,8DAA8D;YAC9D,0EAA0E;YAC1E,wDAAwD;YACxD,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;gBACtE,+DAA+D;gBAC/D,qEAAqE;gBACrE,sEAAsE;gBACtE,uEAAuE;gBACvE,kEAAkE;gBAClE,MAAM,IAAI,YAAY,CACpB,GAAG,IAAI,CAAC,UAAU,+CAA+C;oBAC/D,2FAA2F;oBAC3F,oEAAoE,CACvE,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,0EAA0E;YAC1E,mEAAmE;YACnE,6CAA6C;YAC7C,MAAM,IAAI,YAAY,CACpB,gDAAgD,IAAI,CAAC,UAAU,+BAA+B,CAC/F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,YAAY,CACpB,GAAG,IAAI,CAAC,UAAU,oEAAoE;gBACpF,iFAAiF,CACpF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,GAAG,IAAI,CAAC,UAAU,sEAAsE;YACtF,uFAAuF,CAC1F,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,GAAW;QACrB,0EAA0E;QAC1E,yEAAyE;QACzE,8CAA8C;QAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,uEAAuE;YACvE,yEAAyE;YACzE,sCAAsC;YACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEvC,IAAI,MAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,uEAAuE;gBACvE,yEAAyE;gBACzE,kEAAkE;gBAClE,EAAE;gBACF,oEAAoE;gBACpE,qEAAqE;gBACrE,sEAAsE;gBACtE,wEAAwE;gBACxE,uEAAuE;gBACvE,2BAA2B;gBAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,IAAI,CAAC,OAAO;oBAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjE,iEAAiE;gBACjE,kEAAkE;gBAClE,qEAAqE;gBACrE,0DAA0D;gBAC1D,EAAE;gBACF,uEAAuE;gBACvE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACpC,sEAAsE;gBACtE,qEAAqE;gBACrE,8DAA8D;gBAC9D,EAAE;gBACF,wEAAwE;gBACxE,sEAAsE;gBACtE,mEAAmE;gBACnE,sEAAsE;gBACtE,0CAA0C;gBAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc,CAC/D,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK;oBAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACnE,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;YAE7E,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,EAAE;gBAClC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzD,wEAAwE;gBACxE,sEAAsE;gBACtE,0DAA0D;gBAC1D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM;oBAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;gBACtD,IAAI,CAAC;oBACH,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;gBAAC,MAAM,CAAC;oBACP,qEAAqE;oBACrE,iEAAiE;gBACnE,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;oBAAE,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;gBAC7E,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CAAC;YAEF,mEAAmE;YACnE,uEAAuE;YACvE,uEAAuE;YACvE,cAAc;YACd,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAEtE,wEAAwE;YACxE,0EAA0E;YAC1E,uEAAuE;YACvE,yEAAyE;YACzE,sEAAsE;YACtE,wEAAwE;YACxE,gDAAgD;YAChD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC;YACvD,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBACnC,IAAI,CAAC,IAAI,EAAE;oBAAE,OAAO;gBACpB,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;gBACxC,IAAI,CAAC,IAAI,EAAE;oBAAE,OAAO;gBACpB,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3B,MAAM,GAAG,IAAI,CAAC;oBACd,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oBAC/B,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAoB,EAAE,QAAiB;QAC9C,MAAM,KAAK,GAAU;YACnB,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU;YAChD,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;YAC/B,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,wEAAwE;YACxE,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI;YAC3B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACjE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;SAClC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,uEAAuE;QACvE,0EAA0E;QAC1E,yEAAyE;QACzE,uDAAuD;QACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;QAC3C,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAEjC,oEAAoE;QACpE,yEAAyE;QACzE,uEAAuE;QACvE,2EAA2E;QAC3E,0EAA0E;QAC1E,mBAAmB;QACnB,EAAE;QACF,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,2EAA2E;QAC3E,0EAA0E;QAC1E,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,QAAoB;QACjC,qEAAqE;QACrE,yEAAyE;QACzE,oEAAoE;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,4EAA4E;QAC5E,4EAA4E;QAC5E,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,OAAO;QACT,CAAC;QACD,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,CAAC,eAAe,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACjF,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAChE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9B,wEAAwE;YACxE,0EAA0E;YAC1E,wEAAwE;YACxE,qEAAqE;YACrE,2BAA2B;YAC3B,EAAE;YACF,qEAAqE;YACrE,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,4EAA4E;YAC5E,gEAAgE;YAChE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,aAAa,EAAE,CAAC;gBAC5D,sEAAsE;gBACtE,uEAAuE;gBACvE,uEAAuE;gBACvE,qEAAqE;gBACrE,kBAAkB;gBAClB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ;QACN,sEAAsE;QACtE,6BAA6B;QAC7B,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,mFAAmF;IACnF,OAAO;QACL,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,0DAA0D;YAC1D,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QACrD,IAAI,EAAE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB;YAAE,OAAO;QACvD,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,4EAA4E;QAC5E,4EAA4E;QAC5E,0EAA0E;QAC1E,yEAAyE;QACzE,qDAAqD;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,cAAc;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,KAAoB;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAA2C,CAAC;QAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,4EAA4E;QAC5E,wEAAwE;QACxE,4DAA4D;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,mEAAmE;YACnE,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,uEAAuE;YACvE,yEAAyE;YACzE,iCAAiC;YACjC,EAAE;YACF,qEAAqE;YACrE,wEAAwE;YACxE,0EAA0E;YAC1E,qEAAqE;YACrE,4BAA4B;YAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,uEAAuE;YACvE,0EAA0E;YAC1E,uEAAuE;YACvE,2EAA2E;YAC3E,wEAAwE;YACxE,wEAAwE;YACxE,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,aAAa;gBAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAClF,IAAI,IAAI,KAAK,aAAa;gBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,KAAK,CAAC;YACT,IAAI,EAAE,gBAAgB;YACtB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC5B,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,MAAM;YACN,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,EAAE;YACR,sEAAsE;YACtE,yEAAyE;YACzE,iCAAiC;YACjC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,KAAoB;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACzB,wEAAwE;YACxE,0EAA0E;YAC1E,0EAA0E;YAC1E,oEAAoE;YACpE,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG;gBACX,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,MAAM;oBACZ,CAAC,CAAC,2CAA2C,MAAM,EAAE;oBACrD,CAAC,CAAC,0FAA0F;aAC/F,CAAC;YACF,0EAA0E;YAC1E,wEAAwE;YACxE,iCAAiC;YACjC,MAAM,MAAM,GAAG,GAAG,CAAE,KAAK,CAAC,IAA4C,EAAE,aAAa,CAAC,CAAC;YACvF,IAAI,MAAM;gBAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;iBAC7B,IAAI,MAAM;gBAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACvC,uEAAuE;YACvE,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,yEAAyE;YACzE,uEAAuE;YACvE,sEAAsE;YACtE,qCAAqC;YACrC,sEAAsE;YACtE,wEAAwE;YACxE,0EAA0E;YAC1E,qEAAqE;YACrE,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YACvD,sEAAsE;YACtE,uEAAuE;YACvE,0EAA0E;YAC1E,yEAAyE;YACzE,yEAAyE;YACzE,gBAAgB;YAChB,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK;gBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,0EAA0E;YAC1E,oEAAoE;YACpE,oEAAoE;YACpE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QACD,yEAAyE;QACzE,iEAAiE;QACjE,4EAA4E;QAC5E,uEAAuE;QACvE,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO;QAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;YAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,MAAM;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,QAAQ;IACV,IAAI,CAAM;IACV,UAAU,CAAqB;IAC/B,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IACjD;;;;;;;;;;;;;;;;;OAiBG;IACM,OAAO,GAAG,IAAI,GAAG,EAAkD,CAAC;IAC7E,mFAAmF;IACnF,MAAM,CAAU,eAAe,GAAG,GAAG,CAAC;IACtC,MAAM,CAAkC;IAExC,YAAY,GAAQ,EAAE,YAAgC,kBAAkB;QACtE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,qEAAqE;IACrE,IAAI,CAAC,UAAkB;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAChC,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QACD,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,CAAC,UAAkB,EAAE,MAAc,EAAE,QAAQ,GAAG,KAAK;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC;QAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,QAAQ,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,wEAAwE;YACxE,sBAAsB;YACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe;oBAAE,MAAM;gBACzD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,6EAA6E;IAC7E,QAAQ;QACN,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACnC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnC,uEAAuE;gBACvE,sEAAsE;gBACtE,iEAAiE;gBACjE,IAAI,GAAG,CAAC,MAAM,GAAG,YAAY;oBAAE,SAAS;gBACxC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,oDAAoD,EAAE,IAAI,CAAC,CAAC;YAC5E,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,CAAC,EAAE,QAAQ,CAAC,CAAC;QACb,uEAAuE;QACvE,2EAA2E;QAC3E,8DAA8D;QAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACxB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;;AAGH;;;;;GAKG;AACH,MAAM,YAAa,SAAQ,YAAY;CAAG;AAE1C,iFAAiF;AACjF,SAAS,KAAK,CAAC,IAAa;IAC1B,MAAM,IAAI,GACR,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,YAAY,UAAU;YAC1B,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YAChC,CAAC,CAAC,SAAS,CAAC;IAClB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAC;IACrD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IACxD,OAAO,KAAsB,CAAC;AAChC,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,CAAU,EAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAE7F,MAAM,IAAI,GAAG,CAAC,CAAU,EAAwB,EAAE,CAChD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAErF;;;;;;;;GAQG;AACH,MAAM,OAAO,GAAG,CAAC,CAAU,EAAyB,EAAE;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,SAAS;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAE,CAA6B,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAG,CAA6B,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,MAAmB,EAAE,EAAE,CAChD,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;IAC5B,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,OAAO,EAAE,CAAC;IAChD,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;IACZ,SAAS,IAAI;QACX,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,125 @@
1
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ /** A plain text result. */
3
+ export declare const text: (s: string) => CallToolResult;
4
+ /** A JSON result, pretty-printed — models read indented JSON more reliably than one line. */
5
+ export declare const json: (v: unknown) => CallToolResult;
6
+ /** A line of prose followed by the data it describes. */
7
+ export declare const said: (line: string, v?: unknown) => CallToolResult;
8
+ /**
9
+ * A refusal this server decided on its own, rather than one the platform sent.
10
+ *
11
+ * The same thing as `failed`, for the cases that never reach the platform: an
12
+ * argument combination that cannot mean anything, a payload that would write
13
+ * corruption, a purge without the fingerprint that authorises it. Those are
14
+ * failures too, and a caller that reads `isError` to decide whether a step
15
+ * worked would otherwise see a refusal and a success as the same answer.
16
+ */
17
+ export declare const refused: (line: string, v?: unknown) => CallToolResult;
18
+ /**
19
+ * How many bytes of image this server will put into a model's context.
20
+ *
21
+ * Larger than the text cap because base64 of a screenshot is the one big thing
22
+ * worth carrying, and because a picture is the whole point of this server — but
23
+ * bounded, because an image cannot be truncated and one past this size is not a
24
+ * large answer, it is the end of the conversation.
25
+ *
26
+ * Here rather than in one tool, because every path that produces image content
27
+ * has to observe it: `read_file` did and `screenshot` did not, which left the
28
+ * bound sitting on the smaller of the two.
29
+ */
30
+ export declare const MAX_INLINE_IMAGE_BYTES: number;
31
+ /**
32
+ * Raster types that MCP image content can carry safely.
33
+ *
34
+ * `image/*` includes `image/svg+xml`, and a client that inlines that MIME as a
35
+ * picture can execute script from it. SVG is XML; it goes through the text /
36
+ * base64 path like any other non-raster file.
37
+ *
38
+ * Here, beside the size cap, for the reason written above it: every path that
39
+ * produces image content has to observe this, and the two paths did not agree.
40
+ * `read_file` checked the allowlist while `screenshot` checked only
41
+ * `startsWith('image/')` — and the case screenshot's check exists for is a
42
+ * proxy or captive portal answering in place of the capture, which is exactly
43
+ * the situation where the bytes are chosen by somebody else.
44
+ */
45
+ export declare const INLINE_IMAGE_TYPES: ReadonlySet<string>;
46
+ export declare function isInlineImage(contentType: string): boolean;
47
+ /**
48
+ * A screenshot, as image content.
49
+ *
50
+ * This is the whole reason this server is more than a CLI wrapper: the bytes go
51
+ * into the model's context as a picture it can point at, rather than as a path
52
+ * it would have to open with something else.
53
+ */
54
+ export declare function image(bytes: Uint8Array, mimeType: string, note?: string): CallToolResult;
55
+ /**
56
+ * A failure the model should read and act on, not an exception the client shows
57
+ * as a protocol error.
58
+ *
59
+ * MCP draws this line deliberately: a transport error is the client's problem,
60
+ * while "the guest agent is not answering yet (the computer may still be
61
+ * booting)" is the model's — it is the sentence that tells it to wait and try
62
+ * again rather than to give up or to report a broken tool. So everything the
63
+ * platform refuses comes back as content with `isError`.
64
+ */
65
+ export declare function failed(err: unknown): CallToolResult;
66
+ /** Run a tool body, turning anything it throws into a result the model can read. */
67
+ export declare function guarded(fn: () => Promise<CallToolResult>): Promise<CallToolResult>;
68
+ export type Computer = {
69
+ id?: string;
70
+ name?: string;
71
+ status?: string;
72
+ os?: string;
73
+ template?: string;
74
+ cpu?: number;
75
+ ram_mb?: number;
76
+ disk_gb?: number;
77
+ resolution?: string;
78
+ workspace_id?: string;
79
+ created_at?: string;
80
+ build?: {
81
+ started?: string;
82
+ source?: string;
83
+ failed?: boolean;
84
+ };
85
+ suspended?: {
86
+ at?: string;
87
+ };
88
+ idle_suspend_min?: number;
89
+ snapshot_schedule?: unknown;
90
+ unreachable?: boolean;
91
+ start_error?: string;
92
+ vnc?: Record<string, unknown>;
93
+ };
94
+ /**
95
+ * A create or a clone can answer `{computer, start_error}` rather than a bare
96
+ * computer: the guest was made and then would not boot, so the machine exists
97
+ * and is billable and the caller needs its id. Flattened here, as the SDK
98
+ * flattens it, so every reader of a computer sees the same shape and the
99
+ * failure travels beside the fields rather than wrapping them.
100
+ */
101
+ export declare function unwrapComputer(body: unknown): Computer;
102
+ /**
103
+ * A computer without its desktop credentials.
104
+ *
105
+ * `vnc` carries a token that is root-equivalent on the machine, and a tool
106
+ * result is a thing that lands in a model's context and from there in whatever
107
+ * captured it. The platform makes the same call one level down — it keeps the
108
+ * credential off list responses so that it is not in every log line that ever
109
+ * held one — and there is no reason for this tier to be looser. `get_desktop_url`
110
+ * hands it over when somebody asks for it, watch-only unless they say otherwise.
111
+ */
112
+ export declare function withoutCredentials(c: Computer): Computer;
113
+ /**
114
+ * The warning that belongs on a listing the platform said was short.
115
+ *
116
+ * Said in prose and said first, because the reader is a model that will
117
+ * otherwise diff this array against its own idea of the world. A short list is
118
+ * not a smaller truth — it reads exactly like the missing things were deleted,
119
+ * and the obvious next thing to do with something that has disappeared is to
120
+ * tidy up after it.
121
+ */
122
+ export declare function incompleteWarning(noun: string, incomplete: number | null): string;
123
+ /** The one-line version, for lists and for confirmations. */
124
+ export declare function describe(c: Computer): string;
125
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,2BAA2B;AAC3B,eAAO,MAAM,IAAI,GAAI,GAAG,MAAM,KAAG,cAA4D,CAAC;AAE9F,6FAA6F;AAC7F,eAAO,MAAM,IAAI,GAAI,GAAG,OAAO,KAAG,cAAkD,CAAC;AAErF,yDAAyD;AACzD,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,EAAE,IAAI,OAAO,KAAG,cAC0B,CAAC;AAE5E;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,IAAI,OAAO,KAAG,cAGlD,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,QAAkB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAKjD,CAAC;AAEH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAMxF;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAqBnD;AAED,oFAAoF;AACpF,wBAAsB,OAAO,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAMxF;AAID,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChE,SAAS,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAgBtD;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAGxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAUjF;AAED,6DAA6D;AAC7D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAM5C"}
package/dist/format.js ADDED
@@ -0,0 +1,180 @@
1
+ import { APIError, MandalaError, reasonAdvice } from './errors.js';
2
+ /** A plain text result. */
3
+ export const text = (s) => ({ content: [{ type: 'text', text: s }] });
4
+ /** A JSON result, pretty-printed — models read indented JSON more reliably than one line. */
5
+ export const json = (v) => text(JSON.stringify(v, null, 2));
6
+ /** A line of prose followed by the data it describes. */
7
+ export const said = (line, v) => text(v === undefined ? line : `${line}\n\n${JSON.stringify(v, null, 2)}`);
8
+ /**
9
+ * A refusal this server decided on its own, rather than one the platform sent.
10
+ *
11
+ * The same thing as `failed`, for the cases that never reach the platform: an
12
+ * argument combination that cannot mean anything, a payload that would write
13
+ * corruption, a purge without the fingerprint that authorises it. Those are
14
+ * failures too, and a caller that reads `isError` to decide whether a step
15
+ * worked would otherwise see a refusal and a success as the same answer.
16
+ */
17
+ export const refused = (line, v) => ({
18
+ ...said(line, v),
19
+ isError: true,
20
+ });
21
+ /**
22
+ * How many bytes of image this server will put into a model's context.
23
+ *
24
+ * Larger than the text cap because base64 of a screenshot is the one big thing
25
+ * worth carrying, and because a picture is the whole point of this server — but
26
+ * bounded, because an image cannot be truncated and one past this size is not a
27
+ * large answer, it is the end of the conversation.
28
+ *
29
+ * Here rather than in one tool, because every path that produces image content
30
+ * has to observe it: `read_file` did and `screenshot` did not, which left the
31
+ * bound sitting on the smaller of the two.
32
+ */
33
+ export const MAX_INLINE_IMAGE_BYTES = 8 * 1024 * 1024;
34
+ /**
35
+ * Raster types that MCP image content can carry safely.
36
+ *
37
+ * `image/*` includes `image/svg+xml`, and a client that inlines that MIME as a
38
+ * picture can execute script from it. SVG is XML; it goes through the text /
39
+ * base64 path like any other non-raster file.
40
+ *
41
+ * Here, beside the size cap, for the reason written above it: every path that
42
+ * produces image content has to observe this, and the two paths did not agree.
43
+ * `read_file` checked the allowlist while `screenshot` checked only
44
+ * `startsWith('image/')` — and the case screenshot's check exists for is a
45
+ * proxy or captive portal answering in place of the capture, which is exactly
46
+ * the situation where the bytes are chosen by somebody else.
47
+ */
48
+ export const INLINE_IMAGE_TYPES = new Set([
49
+ 'image/png',
50
+ 'image/jpeg',
51
+ 'image/gif',
52
+ 'image/webp',
53
+ ]);
54
+ export function isInlineImage(contentType) {
55
+ return INLINE_IMAGE_TYPES.has(contentType);
56
+ }
57
+ /**
58
+ * A screenshot, as image content.
59
+ *
60
+ * This is the whole reason this server is more than a CLI wrapper: the bytes go
61
+ * into the model's context as a picture it can point at, rather than as a path
62
+ * it would have to open with something else.
63
+ */
64
+ export function image(bytes, mimeType, note) {
65
+ const content = [
66
+ { type: 'image', data: Buffer.from(bytes).toString('base64'), mimeType },
67
+ ];
68
+ if (note)
69
+ content.unshift({ type: 'text', text: note });
70
+ return { content };
71
+ }
72
+ /**
73
+ * A failure the model should read and act on, not an exception the client shows
74
+ * as a protocol error.
75
+ *
76
+ * MCP draws this line deliberately: a transport error is the client's problem,
77
+ * while "the guest agent is not answering yet (the computer may still be
78
+ * booting)" is the model's — it is the sentence that tells it to wait and try
79
+ * again rather than to give up or to report a broken tool. So everything the
80
+ * platform refuses comes back as content with `isError`.
81
+ */
82
+ export function failed(err) {
83
+ const message = err instanceof MandalaError || err instanceof Error ? err.message : String(err);
84
+ const status = err?.status;
85
+ const withStatus = status && message !== `HTTP ${status}` ? `${message} (HTTP ${status})` : message;
86
+ // The platform's classification of the refusal, as the sentence it means
87
+ // (OPL-3898). `reason` is one word beside `error`, put there for a program to
88
+ // switch on — and the program on the other end of this tool is a model that
89
+ // sees nothing but the text below. Without this, the only thing distinguishing
90
+ // "something held the clipboard for an instant" from "the computer is stopped"
91
+ // is prose the platform is free to reword, and the model that reads the two
92
+ // the same way retries the second until its turn budget runs out.
93
+ //
94
+ // Appended rather than substituted: the sentence is what says WHICH computer
95
+ // and which state, and the word says only what kind. An unclassified refusal —
96
+ // most of them, and always will be — reads exactly as it did before.
97
+ const advice = err instanceof APIError ? reasonAdvice(err.reason) : undefined;
98
+ return {
99
+ isError: true,
100
+ content: [{ type: 'text', text: advice ? `${withStatus} — ${advice}` : withStatus }],
101
+ };
102
+ }
103
+ /** Run a tool body, turning anything it throws into a result the model can read. */
104
+ export async function guarded(fn) {
105
+ try {
106
+ return await fn();
107
+ }
108
+ catch (err) {
109
+ return failed(err);
110
+ }
111
+ }
112
+ /**
113
+ * A create or a clone can answer `{computer, start_error}` rather than a bare
114
+ * computer: the guest was made and then would not boot, so the machine exists
115
+ * and is billable and the caller needs its id. Flattened here, as the SDK
116
+ * flattens it, so every reader of a computer sees the same shape and the
117
+ * failure travels beside the fields rather than wrapping them.
118
+ */
119
+ export function unwrapComputer(body) {
120
+ if (!body || typeof body !== 'object')
121
+ return {};
122
+ const v = body;
123
+ const inner = v.computer;
124
+ if (inner && typeof inner === 'object') {
125
+ // The outer value wins, but only when there is one. Writing it
126
+ // unconditionally would take a `start_error` the platform had nested with
127
+ // the computer and replace it with nothing — discarding the reason a
128
+ // billable machine did not boot, in the function that exists to surface it.
129
+ const nested = inner;
130
+ return {
131
+ ...nested,
132
+ start_error: v.start_error ?? nested.start_error,
133
+ };
134
+ }
135
+ return v;
136
+ }
137
+ /**
138
+ * A computer without its desktop credentials.
139
+ *
140
+ * `vnc` carries a token that is root-equivalent on the machine, and a tool
141
+ * result is a thing that lands in a model's context and from there in whatever
142
+ * captured it. The platform makes the same call one level down — it keeps the
143
+ * credential off list responses so that it is not in every log line that ever
144
+ * held one — and there is no reason for this tier to be looser. `get_desktop_url`
145
+ * hands it over when somebody asks for it, watch-only unless they say otherwise.
146
+ */
147
+ export function withoutCredentials(c) {
148
+ const { vnc: _vnc, ...rest } = c;
149
+ return rest;
150
+ }
151
+ /**
152
+ * The warning that belongs on a listing the platform said was short.
153
+ *
154
+ * Said in prose and said first, because the reader is a model that will
155
+ * otherwise diff this array against its own idea of the world. A short list is
156
+ * not a smaller truth — it reads exactly like the missing things were deleted,
157
+ * and the obvious next thing to do with something that has disappeared is to
158
+ * tidy up after it.
159
+ */
160
+ export function incompleteWarning(noun, incomplete) {
161
+ if (incomplete === null)
162
+ return '';
163
+ const missing = incomplete > 0
164
+ ? `${incomplete} of your ${noun} are on a hypervisor that cannot be reached`
165
+ : `a hypervisor cannot be reached, so an unknown number of ${noun} are missing`;
166
+ return (`INCOMPLETE: ${missing}. This list is short. Do not treat anything absent from it ` +
167
+ `as deleted — retry in a moment for a complete answer.\n\n`);
168
+ }
169
+ /** The one-line version, for lists and for confirmations. */
170
+ export function describe(c) {
171
+ const bits = [c.name ?? '(unnamed)', c.id ?? '(no id)', c.status ?? 'unknown'];
172
+ if (c.resolution)
173
+ bits.push(c.resolution);
174
+ if (c.suspended?.at)
175
+ bits.push(`suspended ${c.suspended.at}`);
176
+ if (c.unreachable)
177
+ bits.push('UNREACHABLE — its hypervisor could not be reached');
178
+ return bits.join(' · ');
179
+ }
180
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
package/dist/http.d.ts ADDED
@@ -0,0 +1,46 @@
1
+ import type { Server } from 'node:http';
2
+ import { type ServerConfig } from './server.js';
3
+ export type HttpConfig = Omit<ServerConfig, 'apiKey' | 'activity'> & {
4
+ port: number;
5
+ host: string;
6
+ /** Hosts this server will answer to, for DNS-rebinding protection. */
7
+ allowedHosts?: string[];
8
+ allowedOrigins?: string[];
9
+ /** How long an idle session survives before it is swept, in ms. */
10
+ sessionTtlMs?: number;
11
+ /** How many live sessions this server will hold at once. */
12
+ maxSessions?: number;
13
+ /** How many requests may retain a parsed body above 256 KiB at once. */
14
+ maxLargeBodyParses?: number;
15
+ };
16
+ export declare function isLoopbackHost(host: string): boolean;
17
+ /**
18
+ * One operator-supplied allowlist entry, as the Host headers it should match.
19
+ *
20
+ * Bracket-aware, because that is the whole difficulty: a literal IPv6 address
21
+ * is full of colons and is only a `host:port` when the colon falls after the
22
+ * `]`. Three cases, and only the last is expanded:
23
+ *
24
+ * - already carries a port — left exactly as written. That operator has said
25
+ * which port their callers use, and it need not be the one bound here.
26
+ * - a BARE IPv6 address, unbracketed. `::1` is not a legal Host header and
27
+ * `::1` + `:3000` is `::1:3000`, which nothing can send — so it is BRACKETED
28
+ * into the spellings a client actually sends, rather than left as a dead
29
+ * entry that matches nothing. An operator who writes the address has said
30
+ * which host they mean; the brackets are notation, not a second guess.
31
+ * - anything else — matched with and without the bound port.
32
+ */
33
+ export declare function hostSpellings(host: string, port: number): string[];
34
+ /**
35
+ * The hosted install: one URL, and every caller brings their own key.
36
+ *
37
+ * The important property of this server is what it does NOT hold. There is no
38
+ * credential of its own, no store, and no state that outlives a session: a
39
+ * caller's `com_…` key arrives as their own bearer token, is used for their
40
+ * requests, and is never written down. What is kept is a digest of it, so that
41
+ * a later request on the same session can be shown to come from the same
42
+ * holder — a session id on its own is then not enough to drive somebody else's
43
+ * desktop, which it otherwise would be.
44
+ */
45
+ export declare function runHttp(cfg: HttpConfig): Promise<Server>;
46
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAMxC,OAAO,EAA6C,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3F,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAgEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUpD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAWlE;AA+BD;;;;;;;;;;GAUG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAonB9D"}