allsquare 0.1.1

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 (132) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/LICENSE +21 -0
  3. package/README.md +234 -0
  4. package/dist/api/client.d.ts +46 -0
  5. package/dist/api/client.d.ts.map +1 -0
  6. package/dist/api/client.js +162 -0
  7. package/dist/api/client.js.map +1 -0
  8. package/dist/api/contract.d.ts +549 -0
  9. package/dist/api/contract.d.ts.map +1 -0
  10. package/dist/api/contract.js +49 -0
  11. package/dist/api/contract.js.map +1 -0
  12. package/dist/api/model.d.ts +627 -0
  13. package/dist/api/model.d.ts.map +1 -0
  14. package/dist/api/model.js +378 -0
  15. package/dist/api/model.js.map +1 -0
  16. package/dist/auth/auth-service.d.ts +34 -0
  17. package/dist/auth/auth-service.d.ts.map +1 -0
  18. package/dist/auth/auth-service.js +221 -0
  19. package/dist/auth/auth-service.js.map +1 -0
  20. package/dist/auth/browser.d.ts +12 -0
  21. package/dist/auth/browser.d.ts.map +1 -0
  22. package/dist/auth/browser.js +50 -0
  23. package/dist/auth/browser.js.map +1 -0
  24. package/dist/auth/credential-store.d.ts +28 -0
  25. package/dist/auth/credential-store.d.ts.map +1 -0
  26. package/dist/auth/credential-store.js +75 -0
  27. package/dist/auth/credential-store.js.map +1 -0
  28. package/dist/auth/installation-store.d.ts +14 -0
  29. package/dist/auth/installation-store.d.ts.map +1 -0
  30. package/dist/auth/installation-store.js +122 -0
  31. package/dist/auth/installation-store.js.map +1 -0
  32. package/dist/auth/model.d.ts +54 -0
  33. package/dist/auth/model.d.ts.map +1 -0
  34. package/dist/auth/model.js +24 -0
  35. package/dist/auth/model.js.map +1 -0
  36. package/dist/auth/oauth-callback.d.ts +17 -0
  37. package/dist/auth/oauth-callback.d.ts.map +1 -0
  38. package/dist/auth/oauth-callback.js +94 -0
  39. package/dist/auth/oauth-callback.js.map +1 -0
  40. package/dist/auth/oauth-client.d.ts +43 -0
  41. package/dist/auth/oauth-client.d.ts.map +1 -0
  42. package/dist/auth/oauth-client.js +191 -0
  43. package/dist/auth/oauth-client.js.map +1 -0
  44. package/dist/auth/pkce.d.ts +9 -0
  45. package/dist/auth/pkce.d.ts.map +1 -0
  46. package/dist/auth/pkce.js +12 -0
  47. package/dist/auth/pkce.js.map +1 -0
  48. package/dist/command.d.ts +3 -0
  49. package/dist/command.d.ts.map +1 -0
  50. package/dist/command.js +24 -0
  51. package/dist/command.js.map +1 -0
  52. package/dist/commands/agent-guide.d.ts +5 -0
  53. package/dist/commands/agent-guide.d.ts.map +1 -0
  54. package/dist/commands/agent-guide.js +226 -0
  55. package/dist/commands/agent-guide.js.map +1 -0
  56. package/dist/commands/auth.d.ts +5 -0
  57. package/dist/commands/auth.d.ts.map +1 -0
  58. package/dist/commands/auth.js +68 -0
  59. package/dist/commands/auth.js.map +1 -0
  60. package/dist/commands/balances.d.ts +5 -0
  61. package/dist/commands/balances.d.ts.map +1 -0
  62. package/dist/commands/balances.js +106 -0
  63. package/dist/commands/balances.js.map +1 -0
  64. package/dist/commands/config.d.ts +4 -0
  65. package/dist/commands/config.d.ts.map +1 -0
  66. package/dist/commands/config.js +16 -0
  67. package/dist/commands/config.js.map +1 -0
  68. package/dist/commands/expense-input.d.ts +17 -0
  69. package/dist/commands/expense-input.d.ts.map +1 -0
  70. package/dist/commands/expense-input.js +78 -0
  71. package/dist/commands/expense-input.js.map +1 -0
  72. package/dist/commands/expenses.d.ts +5 -0
  73. package/dist/commands/expenses.d.ts.map +1 -0
  74. package/dist/commands/expenses.js +419 -0
  75. package/dist/commands/expenses.js.map +1 -0
  76. package/dist/commands/groups.d.ts +5 -0
  77. package/dist/commands/groups.d.ts.map +1 -0
  78. package/dist/commands/groups.js +149 -0
  79. package/dist/commands/groups.js.map +1 -0
  80. package/dist/commands/recurring-expenses.d.ts +5 -0
  81. package/dist/commands/recurring-expenses.d.ts.map +1 -0
  82. package/dist/commands/recurring-expenses.js +416 -0
  83. package/dist/commands/recurring-expenses.js.map +1 -0
  84. package/dist/commands/settlements.d.ts +5 -0
  85. package/dist/commands/settlements.d.ts.map +1 -0
  86. package/dist/commands/settlements.js +225 -0
  87. package/dist/commands/settlements.js.map +1 -0
  88. package/dist/commands/shared.d.ts +6 -0
  89. package/dist/commands/shared.d.ts.map +1 -0
  90. package/dist/commands/shared.js +35 -0
  91. package/dist/commands/shared.js.map +1 -0
  92. package/dist/commands/spend-summary.d.ts +5 -0
  93. package/dist/commands/spend-summary.d.ts.map +1 -0
  94. package/dist/commands/spend-summary.js +107 -0
  95. package/dist/commands/spend-summary.js.map +1 -0
  96. package/dist/commands/update.d.ts +9 -0
  97. package/dist/commands/update.d.ts.map +1 -0
  98. package/dist/commands/update.js +78 -0
  99. package/dist/commands/update.js.map +1 -0
  100. package/dist/config.d.ts +14 -0
  101. package/dist/config.d.ts.map +1 -0
  102. package/dist/config.js +52 -0
  103. package/dist/config.js.map +1 -0
  104. package/dist/errors.d.ts +87 -0
  105. package/dist/errors.d.ts.map +1 -0
  106. package/dist/errors.js +183 -0
  107. package/dist/errors.js.map +1 -0
  108. package/dist/index.d.ts +3 -0
  109. package/dist/index.d.ts.map +1 -0
  110. package/dist/index.js +43 -0
  111. package/dist/index.js.map +1 -0
  112. package/dist/interaction.d.ts +16 -0
  113. package/dist/interaction.d.ts.map +1 -0
  114. package/dist/interaction.js +14 -0
  115. package/dist/interaction.js.map +1 -0
  116. package/dist/layers.d.ts +13 -0
  117. package/dist/layers.d.ts.map +1 -0
  118. package/dist/layers.js +17 -0
  119. package/dist/layers.js.map +1 -0
  120. package/dist/output.d.ts +31 -0
  121. package/dist/output.d.ts.map +1 -0
  122. package/dist/output.js +26 -0
  123. package/dist/output.js.map +1 -0
  124. package/dist/update/update-service.d.ts +41 -0
  125. package/dist/update/update-service.d.ts.map +1 -0
  126. package/dist/update/update-service.js +231 -0
  127. package/dist/update/update-service.js.map +1 -0
  128. package/dist/version.d.ts +3 -0
  129. package/dist/version.d.ts.map +1 -0
  130. package/dist/version.js +3 -0
  131. package/dist/version.js.map +1 -0
  132. package/package.json +41 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../src/commands/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,iBAAiB,CAAA;AAKxB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACvC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EACxB,IAAI,CAAC,eAAe,CAAC,qCAAqC,CAAC,CAC5D,CAAA;AAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAC/C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EACxB,IAAI,CAAC,eAAe,CAAC,yCAAyC,CAAC,CAChE,CAAA;AAED,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CACtD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EACzB,IAAI,CAAC,eAAe,CAAC,gEAAgE,CAAC,EACtF,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CACpB,CAAA;AAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CACzC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EACzB,IAAI,CAAC,eAAe,CAAC,8CAA8C,CAAC,CACrE,CAAA;AAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAC5D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EACvB,IAAI,CAAC,eAAe,CAAC,sDAAsD,CAAC,EAC5E,IAAI,CAAC,QAAQ,CACd,CAAA;AAED,MAAM,YAAY,GAAG,4BAA4B,CAAA;AACjD,MAAM,qBAAqB,GAAG,oBAAoB,CAAA;AAElD,MAAM,SAAS,GAAG,CAAC,OAAe,EAAuC,EAAE,CACzE,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AAE7C,MAAM,cAAc,GAAG,CACrB,KAAa,EACyB,EAAE;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,OAAO,UAAU,CAAC,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;QAC9D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;QAC5B,CAAC,CAAC,SAAS,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAC7B,KAAyB,EACW,EAAE,CACtC,KAAK,KAAK,SAAS;IACjB,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC,MAAM,CAAC,IAAI;IACb,CAAC,CAAC,SAAS,CACP,+FAA+F,CAChG,CAAA;AAEP,MAAM,qBAAqB,GAAG,CAC5B,MAA6B,EACwB,EAAE,CACvD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,UAAU,GAAG,EAAE,CAAA;IACrB,KAAK,MAAM,KAAK,IAAI,MAAM;QAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;IACzE,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,mDAAmD,CAAC,CAAA;IAC9E,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAC,CAAA;AAEJ,MAAM,kBAAkB,GAAG,CAAC,EAC1B,KAAK,EACL,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACP,EAAU,EAAE,CACzB,WAAW,CACT,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB;IACE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IAChB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC,kBAAkB,EAAE,KAAK,CAAC,eAAe,CAAC;IAC3C,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC,2BAA2B,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IACtD,CAAC,qBAAqB,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACnD,CAAC,wBAAwB,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC;CACzD,CACF,CAAA;AAEH,MAAM,sBAAsB,GAAG,CAAC,QAA0B,EAAU,EAAE,CACpE,WAAW,CACT,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB;IACE,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;IAC3B,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;IAC3B,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS;QAC/B,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,CAAC,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;CAClD,CACF,CAAA;AAEH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CACvB,MAAM,EACN,EAAE,IAAI,EAAE,QAAQ,EAAE,EAClB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,EAAE,IAAI,EAAE;IAC1B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,aAAa,CACnC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,EACxD,IAAI,CACL,CAAA;IACD,KAAK,CAAC,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAC1B,MAAM,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,WAAW,CACT,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CACrE;KACR,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC,CAAA;AAE7D,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAC1B,SAAS,EACT;IACE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;IACpC,IAAI,EAAE,QAAQ;CACf,EACD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE;IACnC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,aAAa,CACnC,GAAG,CAAC,GAAG,CAAC;QACN,IAAI,EAAE,WAAW,kBAAkB,CAAC,OAAO,CAAC,UAAU;QACtD,MAAM,EAAE,wBAAwB;KACjC,CAAC,EACF,IAAI,CACL,CAAA;IACD,KAAK,CAAC,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC3B,OAAO,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,WAAW,CACT,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,EACvC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtB,MAAM,CAAC,EAAE;gBACT,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,KAAK,IAAI,GAAG;gBACnB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;aAClC,CAAC,CACH;KACR,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,CAAA;AAE1D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,QAAQ,EACR;IACE,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,eAAe;IAC7B,cAAc,EAAE,kBAAkB;IAClC,IAAI,EAAE,QAAQ;CACf,EACD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,OAAO;IACzB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,CAAC,aAAa,CACzB,SAAS,CAAC,uCAAuC,CAAC,EAClD,OAAO,CAAC,IAAI,CACb,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACpF,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,aAAa,CACvC,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC,EAC3C,OAAO,CAAC,IAAI,CACb,CAAA;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACjE,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAEvE,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CACvD,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE;YACJ,IAAI;YACJ,QAAQ;YACR,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC;SAC1E;QACD,UAAU,EAAE,kBAAkB;QAC9B,MAAM,EAAE,mBAAmB;QAC3B,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;KACtE,CAAC,EACF,OAAO,CAAC,IAAI,CACb,CAAA;IACD,KAAK,CAAC,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,kBAAkB;KAChC,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,qDAAqD,CAAC,CAAC,CAAA;AAEtF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAC5B,YAAY,EACZ;IACE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;IACpC,KAAK,EAAE,SAAS;IAChB,cAAc,EAAE,kBAAkB;IAClC,IAAI,EAAE,QAAQ;CACf,EACD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE;IAC1D,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;IACzE,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;IACzD,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAA;IAE/D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CACvD,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,WAAW,kBAAkB,CAAC,OAAO,CAAC,UAAU;QACtD,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;QAChC,UAAU,EAAE,qBAAqB;QACjC,MAAM,EAAE,sBAAsB;QAC9B,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;KACtE,CAAC,EACF,IAAI,CACL,CAAA;IACD,KAAK,CAAC,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,IAAI;QACJ,WAAW,EAAE,sBAAsB;KACpC,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,iDAAiD,CAAC,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CACtD,OAAO,CAAC,eAAe,CAAC,0CAA0C,CAAC,EACnE,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAC5D,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { Command, Prompt } from "effect/unstable/cli";
2
+ import { ApiClient } from "../api/client.js";
3
+ import { CliInputError } from "../errors.js";
4
+ export declare const recurringExpensesCommand: Command.Command<"recurring-expenses", {}, {}, CliInputError | import("../api/client.js").ApiClientError | import("effect/Terminal").QuitError, ApiClient | Prompt.Environment>;
5
+ //# sourceMappingURL=recurring-expenses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recurring-expenses.d.ts","sourceRoot":"","sources":["../../src/commands/recurring-expenses.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,OAAO,EAAQ,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAmB5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAkrB5C,eAAO,MAAM,wBAAwB,gLAapC,CAAA"}
@@ -0,0 +1,416 @@
1
+ import { Console, Effect, Option } from "effect";
2
+ import { Argument, Command, Flag, Prompt } from "effect/unstable/cli";
3
+ import { ApiClient } from "../api/client.js";
4
+ import { CreateRecurringExpenseRequest, CreateRecurringExpenseResponse, DeleteRecurringExpenseRequest, DeleteRecurringExpenseResponse, GetRecurringExpenseResponse, ListRecurringExpensesResponse, RecurringExpenseMutationResponse, SetRecurringExpensePausedRequest, UpdateRecurringExpenseRequest } from "../api/model.js";
5
+ import { API_WRITE_SCOPE } from "../auth/model.js";
6
+ import { CliInputError } from "../errors.js";
7
+ import { formatTable, printSuccess } from "../output.js";
8
+ import { failInput, parseAllocations, parseMoney, parseOptionalMoney, parsePercentage, localCalendarDate, parseCurrency, validateDate, validateDistinctIds, validateIdempotencyKey } from "./expense-input.js";
9
+ import { jsonFlag, reportFailure } from "./shared.js";
10
+ const groupIdFlag = Flag.String("group-id").pipe(Flag.withMetavar("ID"), Flag.withDescription("Only include recurring expenses from this group"), Flag.optional);
11
+ const descriptionFlag = Flag.String("description").pipe(Flag.withMetavar("TEXT"), Flag.withDescription("Recurring expense description (maximum 200 characters)"));
12
+ const amountFlag = Flag.String("amount").pipe(Flag.withMetavar("DECIMAL"), Flag.withDescription("Positive amount with no more than two decimal places"));
13
+ const currencyFlag = Flag.String("currency").pipe(Flag.withMetavar("CODE"), Flag.withDescription("Currency: USD, CAD, EUR, or GBP; required to avoid implicit currency"));
14
+ const paidByIdFlag = Flag.String("paid-by-id").pipe(Flag.withMetavar("MEMBER_ID"), Flag.withDescription("Member who pays (defaults to the authenticated user)"), Flag.optional);
15
+ const splitWithFlag = Flag.String("split-with").pipe(Flag.withMetavar("MEMBER_ID"), Flag.withDescription("Member included in the split; repeat for multiple members (the payer is always included; in a two-person group the other member is used when omitted)"), Flag.between(0, 100));
16
+ const createSplitTypeFlag = Flag.Literals("split-type", ["amount", "percentage", "exact"]).pipe(Flag.withMetavar("amount|percentage|exact"), Flag.withDescription("amount = split equally; percentage; or exact amounts"), Flag.withDefault("amount"));
17
+ const updateSplitTypeFlag = Flag.Literals("split-type", ["amount", "percentage", "exact"]).pipe(Flag.withMetavar("amount|percentage|exact"), Flag.withDescription("Replace the split mode (amount = split equally) and participant list"), Flag.optional);
18
+ const frequencyFlag = Flag.Literals("frequency", ["weekly", "biweekly", "monthly", "yearly"]).pipe(Flag.withMetavar("weekly|biweekly|monthly|yearly"), Flag.withDescription("Recurring schedule frequency"));
19
+ const startDateFlag = Flag.String("start-date").pipe(Flag.withMetavar("YYYY-MM-DD"), Flag.withDescription("First scheduled date (defaults to today in your local time zone)"), Flag.optional);
20
+ const percentageSplitFlag = Flag.String("percentage-split").pipe(Flag.withMetavar("MEMBER_ID=PERCENT"), Flag.withDescription("Percentage allocation; repeat and ensure the total is 100. Every named member is included in the split"), Flag.between(0, 100));
21
+ const exactSplitFlag = Flag.String("exact-split").pipe(Flag.withMetavar("MEMBER_ID=AMOUNT"), Flag.withDescription("Exact allocation; repeat and ensure the total equals --amount. Every named member is included in the split"), Flag.between(0, 100));
22
+ const idempotencyKeyFlag = Flag.String("idempotency-key").pipe(Flag.withMetavar("KEY"), Flag.withDescription("Reuse a stable key only when retrying the same write"), Flag.optional);
23
+ const yesFlag = Flag.Boolean("yes").pipe(Flag.withDescription("Confirm deletion without an interactive prompt"), Flag.withDefault(false));
24
+ const updatePaidByIdFlag = Flag.String("paid-by-id").pipe(Flag.withMetavar("MEMBER_ID"), Flag.withDescription("Change who pays"), Flag.optional);
25
+ const updateSplitWithFlag = Flag.String("split-with").pipe(Flag.withMetavar("MEMBER_ID"), Flag.withDescription("When changing the split, repeat for every member in it besides the payer"), Flag.between(0, 100));
26
+ const updateDescriptionFlag = descriptionFlag.pipe(Flag.optional);
27
+ const updateAmountFlag = amountFlag.pipe(Flag.optional);
28
+ const updateFrequencyFlag = frequencyFlag.pipe(Flag.optional);
29
+ const renderRecurringExpenseList = (response) => response.recurringExpenses.length === 0
30
+ ? "No recurring expenses found."
31
+ : formatTable([
32
+ "ID",
33
+ "DESCRIPTION",
34
+ "GROUP",
35
+ "PAID BY",
36
+ "AMOUNT",
37
+ "SCHEDULE",
38
+ "NEXT",
39
+ "STATUS"
40
+ ], response.recurringExpenses.map((expense) => [
41
+ expense.id,
42
+ expense.description,
43
+ expense.groupName ?? expense.groupId,
44
+ expense.payer.name,
45
+ `${expense.amount} ${expense.currency}`,
46
+ expense.schedule,
47
+ expense.nextOccurrence,
48
+ expense.isPaused ? "paused" : "active"
49
+ ]));
50
+ const renderRecurringExpenseDetail = ({ recurringExpense: expense }) => {
51
+ const summary = formatTable(["FIELD", "VALUE"], [
52
+ ["ID", expense.id],
53
+ ["Description", expense.description],
54
+ ["Group", expense.groupName ?? expense.groupId],
55
+ ["Amount", `${expense.amount} ${expense.currency}`],
56
+ ["Paid by", expense.payer.name],
57
+ ["Frequency", expense.frequency],
58
+ ["Schedule", expense.schedule],
59
+ ["Next occurrence", expense.nextOccurrence],
60
+ ["Last generated", expense.lastGeneratedAt ?? "—"],
61
+ ["Status", expense.isPaused ? "paused" : "active"],
62
+ ["Paused at", expense.pausedAt ?? "—"],
63
+ ["Split type", expense.splitType],
64
+ ["Created by", expense.createdById],
65
+ ["Can edit", expense.canEdit ? "yes" : "no"]
66
+ ]);
67
+ const splits = expense.splits.length === 0
68
+ ? "No splits found."
69
+ : formatTable(["MEMBER", "AMOUNT", "PERCENTAGE"], expense.splits.map((split) => [
70
+ split.name,
71
+ split.amount === null ? "—" : `${split.amount} ${expense.currency}`,
72
+ split.percentage === null ? "—" : `${split.percentage}%`
73
+ ]));
74
+ return `${summary}\n\nSplits\n${splits}`;
75
+ };
76
+ const renderCreatedRecurringExpense = ({ recurringExpense: expense }) => formatTable(["FIELD", "VALUE"], [
77
+ ["ID", expense.id],
78
+ ["Description", expense.description],
79
+ ["Group", expense.groupId],
80
+ ["Amount", `${expense.amount} ${expense.currency}`],
81
+ ["Frequency", expense.frequency],
82
+ ["Next occurrence", expense.nextOccurrence],
83
+ ["Expense created now", !expense.immediateExpenseCreated
84
+ ? "no"
85
+ : typeof expense.immediateExpenseId === "string"
86
+ ? `yes (${expense.immediateExpenseId})`
87
+ : "yes"]
88
+ ]);
89
+ const renderDeletedRecurringExpense = ({ recurringExpense: expense }) => `Deleted recurring expense ${expense.id}: ${expense.description} (${expense.amount} ${expense.currency}, ${expense.frequency}). Expenses it already created are kept.`;
90
+ const validDescription = (raw) => {
91
+ const description = raw.trim();
92
+ return description.length > 0 && description.length <= 200
93
+ ? Effect.succeed(description)
94
+ : failInput("description must contain 1 to 200 characters");
95
+ };
96
+ const validateMemberInputs = (paidById, splitWith) => Effect.gen(function* () {
97
+ yield* validateDistinctIds("split-with", splitWith);
98
+ if (splitWith.some((id) => id.length === 0)) {
99
+ return yield* failInput("split-with member IDs must not be empty");
100
+ }
101
+ if (paidById !== undefined && paidById.length === 0) {
102
+ return yield* failInput("paid-by-id must not be empty");
103
+ }
104
+ });
105
+ const parseSplitInputs = (options) => Effect.gen(function* () {
106
+ const percentageSplits = yield* parseAllocations("percentage-split", options.percentageSplits, parsePercentage);
107
+ const exactSplits = yield* parseAllocations("exact-split", options.exactSplits, (value) => parseMoney("exact split amount", value));
108
+ if (options.splitType === "amount") {
109
+ if (options.percentageSplits.length > 0 || options.exactSplits.length > 0) {
110
+ return yield* failInput("amount splits do not accept percentage-split or exact-split");
111
+ }
112
+ }
113
+ if (options.splitType === "percentage") {
114
+ if (options.percentageSplits.length === 0) {
115
+ return yield* failInput("percentage splits require at least one percentage-split");
116
+ }
117
+ if (options.exactSplits.length > 0) {
118
+ return yield* failInput("percentage splits do not accept exact-split");
119
+ }
120
+ const total = Object.values(percentageSplits).reduce((sum, value) => sum + value, 0);
121
+ if (Math.abs(total - 100) > 0.01) {
122
+ return yield* failInput("percentage-split values must total 100");
123
+ }
124
+ }
125
+ if (options.splitType === "exact") {
126
+ if (options.exactSplits.length === 0) {
127
+ return yield* failInput("exact splits require at least one exact-split");
128
+ }
129
+ if (options.percentageSplits.length > 0) {
130
+ return yield* failInput("exact splits do not accept percentage-split");
131
+ }
132
+ }
133
+ return { percentageSplits, exactSplits };
134
+ });
135
+ const validateExactTotal = (exactSplits, amount, message) => {
136
+ const totalInCents = Object.values(exactSplits).reduce((sum, value) => sum + Math.round(value * 100), 0);
137
+ return totalInCents === Math.round(amount * 100)
138
+ ? Effect.void
139
+ : failInput(message);
140
+ };
141
+ const list = Command.make("list", {
142
+ groupId: groupIdFlag,
143
+ json: jsonFlag
144
+ }, Effect.fn(function* ({ groupId, json }) {
145
+ const api = yield* ApiClient;
146
+ const response = yield* reportFailure(api.get({
147
+ path: "/recurring-expenses",
148
+ query: { groupId: Option.getOrUndefined(groupId) },
149
+ schema: ListRecurringExpensesResponse
150
+ }), json);
151
+ yield* printSuccess({
152
+ data: response,
153
+ json,
154
+ renderHuman: renderRecurringExpenseList
155
+ });
156
+ })).pipe(Command.withDescription("List recurring expense templates"));
157
+ const get = Command.make("get", {
158
+ recurringExpenseId: Argument.String("recurring-expense-id"),
159
+ json: jsonFlag
160
+ }, Effect.fn(function* ({ recurringExpenseId, json }) {
161
+ const api = yield* ApiClient;
162
+ const response = yield* reportFailure(api.get({
163
+ path: `/recurring-expenses/${encodeURIComponent(recurringExpenseId)}`,
164
+ schema: GetRecurringExpenseResponse
165
+ }), json);
166
+ yield* printSuccess({
167
+ data: response,
168
+ json,
169
+ renderHuman: renderRecurringExpenseDetail
170
+ });
171
+ })).pipe(Command.withDescription("Get a recurring expense and its schedule"));
172
+ const create = Command.make("create", {
173
+ groupId: Argument.String("group-id"),
174
+ description: descriptionFlag,
175
+ amount: amountFlag,
176
+ currency: currencyFlag,
177
+ paidById: paidByIdFlag,
178
+ splitWith: splitWithFlag,
179
+ splitType: createSplitTypeFlag,
180
+ frequency: frequencyFlag,
181
+ startDate: startDateFlag,
182
+ percentageSplits: percentageSplitFlag,
183
+ exactSplits: exactSplitFlag,
184
+ idempotencyKey: idempotencyKeyFlag,
185
+ json: jsonFlag
186
+ }, Effect.fn(function* (options) {
187
+ const description = yield* reportFailure(validDescription(options.description), options.json);
188
+ const amount = yield* reportFailure(parseMoney("amount", options.amount), options.json);
189
+ const currency = yield* reportFailure(parseCurrency(options.currency), options.json);
190
+ yield* reportFailure(validateDate("start-date", options.startDate), options.json);
191
+ const paidById = Option.getOrUndefined(options.paidById);
192
+ yield* reportFailure(validateMemberInputs(paidById, options.splitWith), options.json);
193
+ const suppliedKey = Option.getOrUndefined(options.idempotencyKey);
194
+ yield* reportFailure(validateIdempotencyKey(suppliedKey), options.json);
195
+ const splitInputs = yield* reportFailure(parseSplitInputs(options), options.json);
196
+ if (options.splitType === "exact") {
197
+ yield* reportFailure(validateExactTotal(splitInputs.exactSplits, amount, "exact-split values must total the recurring expense amount"), options.json);
198
+ }
199
+ const api = yield* ApiClient;
200
+ const { data: response, replayed } = yield* reportFailure(api.post({
201
+ path: `/groups/${encodeURIComponent(options.groupId)}/recurring-expenses`,
202
+ scope: API_WRITE_SCOPE,
203
+ body: {
204
+ description,
205
+ amount,
206
+ currency,
207
+ frequency: options.frequency,
208
+ splitWith: [...options.splitWith],
209
+ splitType: options.splitType,
210
+ ...(paidById === undefined ? {} : { paidById }),
211
+ startDate: Option.getOrElse(options.startDate, () => localCalendarDate()),
212
+ ...(options.splitType === "percentage"
213
+ ? { percentageSplits: splitInputs.percentageSplits }
214
+ : {}),
215
+ ...(options.splitType === "exact"
216
+ ? { exactSplits: splitInputs.exactSplits }
217
+ : {})
218
+ },
219
+ bodySchema: CreateRecurringExpenseRequest,
220
+ schema: CreateRecurringExpenseResponse,
221
+ ...(suppliedKey === undefined ? {} : { idempotencyKey: suppliedKey })
222
+ }), options.json);
223
+ yield* printSuccess({
224
+ data: response,
225
+ replayed,
226
+ json: options.json,
227
+ renderHuman: renderCreatedRecurringExpense
228
+ });
229
+ })).pipe(Command.withDescription("Create a recurring expense in a group"));
230
+ const update = Command.make("update", {
231
+ recurringExpenseId: Argument.String("recurring-expense-id"),
232
+ description: updateDescriptionFlag,
233
+ amount: updateAmountFlag,
234
+ paidById: updatePaidByIdFlag,
235
+ splitWith: updateSplitWithFlag,
236
+ splitType: updateSplitTypeFlag,
237
+ frequency: updateFrequencyFlag,
238
+ percentageSplits: percentageSplitFlag,
239
+ exactSplits: exactSplitFlag,
240
+ idempotencyKey: idempotencyKeyFlag,
241
+ json: jsonFlag
242
+ }, Effect.fn(function* (options) {
243
+ const rawDescription = Option.getOrUndefined(options.description);
244
+ const description = rawDescription === undefined
245
+ ? undefined
246
+ : yield* reportFailure(validDescription(rawDescription), options.json);
247
+ const amount = yield* reportFailure(parseOptionalMoney("amount", options.amount), options.json);
248
+ const paidById = Option.getOrUndefined(options.paidById);
249
+ yield* reportFailure(validateMemberInputs(paidById, options.splitWith), options.json);
250
+ const suppliedKey = Option.getOrUndefined(options.idempotencyKey);
251
+ yield* reportFailure(validateIdempotencyKey(suppliedKey), options.json);
252
+ const splitType = Option.getOrUndefined(options.splitType);
253
+ const touchesSplit = splitType !== undefined ||
254
+ options.splitWith.length > 0 ||
255
+ options.percentageSplits.length > 0 ||
256
+ options.exactSplits.length > 0;
257
+ if (touchesSplit && splitType === undefined) {
258
+ return yield* reportFailure(failInput("split updates require split-type and the complete participant list"), options.json);
259
+ }
260
+ const splitInputs = splitType === undefined
261
+ ? { percentageSplits: {}, exactSplits: {} }
262
+ : yield* reportFailure(parseSplitInputs({
263
+ splitType,
264
+ percentageSplits: options.percentageSplits,
265
+ exactSplits: options.exactSplits
266
+ }), options.json);
267
+ const frequency = Option.getOrUndefined(options.frequency);
268
+ const body = {
269
+ ...(description === undefined ? {} : { description }),
270
+ ...(amount === undefined ? {} : { amount }),
271
+ ...(paidById === undefined ? {} : { paidById }),
272
+ ...(frequency === undefined ? {} : { frequency }),
273
+ ...(splitType === undefined
274
+ ? {}
275
+ : { splitType, splitWith: [...options.splitWith] }),
276
+ ...(splitType === "percentage"
277
+ ? { percentageSplits: splitInputs.percentageSplits }
278
+ : {}),
279
+ ...(splitType === "exact"
280
+ ? { exactSplits: splitInputs.exactSplits }
281
+ : {})
282
+ };
283
+ if (Object.keys(body).length === 0) {
284
+ return yield* reportFailure(failInput("provide at least one field to update"), options.json);
285
+ }
286
+ const api = yield* ApiClient;
287
+ if (splitType === "exact") {
288
+ const current = yield* reportFailure(api.get({
289
+ path: `/recurring-expenses/${encodeURIComponent(options.recurringExpenseId)}`,
290
+ schema: GetRecurringExpenseResponse
291
+ }), options.json);
292
+ yield* reportFailure(validateExactTotal(splitInputs.exactSplits, amount ?? current.recurringExpense.amount, "exact-split values must total the updated recurring expense amount"), options.json);
293
+ }
294
+ const { data: response, replayed } = yield* reportFailure(api.patch({
295
+ path: `/recurring-expenses/${encodeURIComponent(options.recurringExpenseId)}`,
296
+ body,
297
+ bodySchema: UpdateRecurringExpenseRequest,
298
+ schema: RecurringExpenseMutationResponse,
299
+ ...(suppliedKey === undefined ? {} : { idempotencyKey: suppliedKey })
300
+ }), options.json);
301
+ yield* printSuccess({
302
+ data: response,
303
+ replayed,
304
+ json: options.json,
305
+ renderHuman: renderRecurringExpenseDetail
306
+ });
307
+ })).pipe(Command.withDescription("Update a recurring expense's description, amount, payer, split, or frequency. The next date and currency cannot be changed; delete and recreate the template instead"));
308
+ const pause = Command.make("pause", {
309
+ recurringExpenseId: Argument.String("recurring-expense-id"),
310
+ idempotencyKey: idempotencyKeyFlag,
311
+ json: jsonFlag
312
+ }, Effect.fn(function* ({ recurringExpenseId, idempotencyKey, json }) {
313
+ const suppliedKey = Option.getOrUndefined(idempotencyKey);
314
+ yield* reportFailure(validateIdempotencyKey(suppliedKey), json);
315
+ const api = yield* ApiClient;
316
+ const { data: response, replayed } = yield* reportFailure(api.patch({
317
+ path: `/recurring-expenses/${encodeURIComponent(recurringExpenseId)}/pause`,
318
+ body: { paused: true },
319
+ bodySchema: SetRecurringExpensePausedRequest,
320
+ schema: RecurringExpenseMutationResponse,
321
+ ...(suppliedKey === undefined ? {} : { idempotencyKey: suppliedKey })
322
+ }), json);
323
+ yield* printSuccess({
324
+ data: response,
325
+ replayed,
326
+ json,
327
+ renderHuman: renderRecurringExpenseDetail
328
+ });
329
+ })).pipe(Command.withDescription("Pause future generation without deleting history"));
330
+ const resume = Command.make("resume", {
331
+ recurringExpenseId: Argument.String("recurring-expense-id"),
332
+ idempotencyKey: idempotencyKeyFlag,
333
+ json: jsonFlag
334
+ }, Effect.fn(function* ({ recurringExpenseId, idempotencyKey, json }) {
335
+ const suppliedKey = Option.getOrUndefined(idempotencyKey);
336
+ yield* reportFailure(validateIdempotencyKey(suppliedKey), json);
337
+ const api = yield* ApiClient;
338
+ const { data: response, replayed } = yield* reportFailure(api.patch({
339
+ path: `/recurring-expenses/${encodeURIComponent(recurringExpenseId)}/pause`,
340
+ body: { paused: false },
341
+ bodySchema: SetRecurringExpensePausedRequest,
342
+ schema: RecurringExpenseMutationResponse,
343
+ ...(suppliedKey === undefined ? {} : { idempotencyKey: suppliedKey })
344
+ }), json);
345
+ yield* printSuccess({
346
+ data: response,
347
+ replayed,
348
+ json,
349
+ renderHuman: renderRecurringExpenseDetail
350
+ });
351
+ })).pipe(Command.withDescription("Resume generation from the next scheduled date"));
352
+ const deleteRecurringExpense = Command.make("delete", {
353
+ recurringExpenseId: Argument.String("recurring-expense-id"),
354
+ yes: yesFlag,
355
+ idempotencyKey: idempotencyKeyFlag,
356
+ json: jsonFlag
357
+ }, Effect.fn(function* ({ recurringExpenseId, yes, idempotencyKey, json }) {
358
+ if (!yes && (json || !process.stdin.isTTY)) {
359
+ return yield* reportFailure(failInput("recurring expense deletion requires --yes in non-interactive mode"), json);
360
+ }
361
+ const suppliedKey = Option.getOrUndefined(idempotencyKey);
362
+ yield* reportFailure(validateIdempotencyKey(suppliedKey), json);
363
+ const api = yield* ApiClient;
364
+ const targetResult = yield* Effect.result(api.get({
365
+ path: `/recurring-expenses/${encodeURIComponent(recurringExpenseId)}`,
366
+ schema: GetRecurringExpenseResponse
367
+ }));
368
+ // A retry after a lost response finds the recurring expense already gone. With the
369
+ // original idempotency key, send the delete anyway: the server returns the
370
+ // original result for that key, or a genuine NOT_FOUND.
371
+ const retryingDeletedTarget = targetResult._tag === "Failure" &&
372
+ suppliedKey !== undefined &&
373
+ targetResult.failure._tag === "ApiRequestError" &&
374
+ targetResult.failure.status === 404;
375
+ if (targetResult._tag === "Failure" && !retryingDeletedTarget) {
376
+ return yield* reportFailure(Effect.fail(targetResult.failure), json);
377
+ }
378
+ const target = targetResult._tag === "Success" ? targetResult.success : undefined;
379
+ if (!yes && target !== undefined) {
380
+ yield* Console.log(`About to delete:\n${renderRecurringExpenseDetail(target)}`);
381
+ const confirmed = yield* Prompt.run(Prompt.Confirm({
382
+ message: `Permanently delete recurring expense ${target.recurringExpense.id}?`,
383
+ initial: false
384
+ }));
385
+ if (!confirmed) {
386
+ yield* Console.log("Deletion cancelled.");
387
+ return;
388
+ }
389
+ }
390
+ const { data: response, replayed } = yield* reportFailure(api.delete({
391
+ path: `/recurring-expenses/${encodeURIComponent(recurringExpenseId)}`,
392
+ body: {
393
+ confirmed: true,
394
+ userIntent: `Delete recurring expense ${recurringExpenseId} via AllSquare CLI after explicit confirmation`
395
+ },
396
+ bodySchema: DeleteRecurringExpenseRequest,
397
+ schema: DeleteRecurringExpenseResponse,
398
+ ...(suppliedKey === undefined ? {} : { idempotencyKey: suppliedKey })
399
+ }), json);
400
+ yield* printSuccess({
401
+ data: response,
402
+ replayed,
403
+ json,
404
+ renderHuman: renderDeletedRecurringExpense
405
+ });
406
+ })).pipe(Command.withDescription("Delete a recurring expense template after explicit confirmation. Expenses it already created are kept"));
407
+ export const recurringExpensesCommand = Command.make("recurring-expenses").pipe(Command.withDescription("Inspect and manage recurring expense templates"), Command.withSubcommands([
408
+ list,
409
+ get,
410
+ create,
411
+ update,
412
+ pause,
413
+ resume,
414
+ deleteRecurringExpense
415
+ ]));
416
+ //# sourceMappingURL=recurring-expenses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recurring-expenses.js","sourceRoot":"","sources":["../../src/commands/recurring-expenses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC3B,6BAA6B,EAC7B,gCAAgC,EAChC,gCAAgC,EAChC,6BAA6B,EAC9B,MAAM,iBAAiB,CAAA;AAOxB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAIrD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EACtB,IAAI,CAAC,eAAe,CAAC,iDAAiD,CAAC,EACvE,IAAI,CAAC,QAAQ,CACd,CAAA;AAED,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CACrD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EACxB,IAAI,CAAC,eAAe,CAAC,wDAAwD,CAAC,CAC/E,CAAA;AAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC3C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAC3B,IAAI,CAAC,eAAe,CAAC,sDAAsD,CAAC,CAC7E,CAAA;AAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAC/C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EACxB,IAAI,CAAC,eAAe,CAAC,sEAAsE,CAAC,CAC7F,CAAA;AAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CACjD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAC7B,IAAI,CAAC,eAAe,CAAC,sDAAsD,CAAC,EAC5E,IAAI,CAAC,QAAQ,CACd,CAAA;AAED,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAClD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAC7B,IAAI,CAAC,eAAe,CAAC,uJAAuJ,CAAC,EAC7K,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CACrB,CAAA;AAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CACvC,YAAY,EACZ,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAClC,CAAC,IAAI,CACJ,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAC3C,IAAI,CAAC,eAAe,CAAC,sDAAsD,CAAC,EAC5E,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAC3B,CAAA;AAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CACvC,YAAY,EACZ,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAClC,CAAC,IAAI,CACJ,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,EAC3C,IAAI,CAAC,eAAe,CAAC,sEAAsE,CAAC,EAC5F,IAAI,CAAC,QAAQ,CACd,CAAA;AAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CACjC,WAAW,EACX,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAC5C,CAAC,IAAI,CACJ,IAAI,CAAC,WAAW,CAAC,gCAAgC,CAAC,EAClD,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,CACrD,CAAA;AAED,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAClD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAC9B,IAAI,CAAC,eAAe,CAAC,kEAAkE,CAAC,EACxF,IAAI,CAAC,QAAQ,CACd,CAAA;AAED,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAC9D,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EACrC,IAAI,CAAC,eAAe,CAAC,wGAAwG,CAAC,EAC9H,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CACrB,CAAA;AAED,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CACpD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,EACpC,IAAI,CAAC,eAAe,CAAC,4GAA4G,CAAC,EAClI,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CACrB,CAAA;AAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAC5D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EACvB,IAAI,CAAC,eAAe,CAAC,sDAAsD,CAAC,EAC5E,IAAI,CAAC,QAAQ,CACd,CAAA;AAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CACtC,IAAI,CAAC,eAAe,CAAC,gDAAgD,CAAC,EACtE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CACxB,CAAA;AAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CACvD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAC7B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,EACvC,IAAI,CAAC,QAAQ,CACd,CAAA;AACD,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CACxD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAC7B,IAAI,CAAC,eAAe,CAAC,0EAA0E,CAAC,EAChG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CACrB,CAAA;AACD,MAAM,qBAAqB,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACjE,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACvD,MAAM,mBAAmB,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAE7D,MAAM,0BAA0B,GAAG,CACjC,QAA8B,EACtB,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;IAClD,CAAC,CAAC,8BAA8B;IAChC,CAAC,CAAC,WAAW,CACT;QACE,IAAI;QACJ,aAAa;QACb,OAAO;QACP,SAAS;QACT,QAAQ;QACR,UAAU;QACV,MAAM;QACN,QAAQ;KACT,EACD,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,WAAW;QACnB,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO;QACpC,OAAO,CAAC,KAAK,CAAC,IAAI;QAClB,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE;QACvC,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,cAAc;QACtB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;KACvC,CAAC,CACH,CAAA;AAEL,MAAM,4BAA4B,GAAG,CAAC,EACpC,gBAAgB,EAAE,OAAO,EACuB,EAAU,EAAE;IAC5D,MAAM,OAAO,GAAG,WAAW,CACzB,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB;QACE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAClB,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC;QACpC,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;QAC/C,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnD,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC;QAChC,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC;QAC9B,CAAC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;QAC3C,CAAC,gBAAgB,EAAE,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC;QAClD,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClD,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;QACtC,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC;QACjC,CAAC,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC;QACnC,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;KAC7C,CACF,CAAA;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QACxC,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,WAAW,CACT,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAClC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI;YACV,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE;YACnE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,GAAG;SACzD,CAAC,CACH,CAAA;IAEL,OAAO,GAAG,OAAO,eAAe,MAAM,EAAE,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,6BAA6B,GAAG,CAAC,EACrC,gBAAgB,EAAE,OAAO,EACD,EAAU,EAAE,CACpC,WAAW,CACT,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB;IACE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;IAClB,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC;IACpC,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IAC1B,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC;IAChC,CAAC,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;IAC3C,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,uBAAuB;YACtD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,OAAO,CAAC,kBAAkB,KAAK,QAAQ;gBAC9C,CAAC,CAAC,QAAQ,OAAO,CAAC,kBAAkB,GAAG;gBACvC,CAAC,CAAC,KAAK,CAAC;CACb,CACF,CAAA;AAEH,MAAM,6BAA6B,GAAG,CAAC,EACrC,gBAAgB,EAAE,OAAO,EACD,EAAU,EAAE,CACpC,6BAA6B,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,WAAW,KAAK,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,SAAS,0CAA0C,CAAA;AAExK,MAAM,gBAAgB,GAAG,CACvB,GAAW,EAC2B,EAAE;IACxC,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IAC9B,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,IAAI,GAAG;QACxD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7B,CAAC,CAAC,SAAS,CAAC,8CAA8C,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,oBAAoB,GAAG,CAC3B,QAA4B,EAC5B,SAAgC,EACI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC3D,KAAK,CAAC,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IACnD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAA;IACpE,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAA;IACzD,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAIzB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACxB,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAC9C,kBAAkB,EAClB,OAAO,CAAC,gBAAgB,EACxB,eAAe,CAChB,CAAA;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,gBAAgB,CACzC,aAAa,EACb,OAAO,CAAC,WAAW,EACnB,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,oBAAoB,EAAE,KAAK,CAAC,CACnD,CAAA;IAED,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,OAAO,KAAK,CAAC,CAAC,SAAS,CACrB,6DAA6D,CAC9D,CAAA;QACH,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,CAAC,SAAS,CACrB,yDAAyD,CAC1D,CAAA;QACH,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAA;QACxE,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAClD,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAC3B,CAAC,CACF,CAAA;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAA;AAC1C,CAAC,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,CACzB,WAA6C,EAC7C,MAAc,EACd,OAAe,EACqB,EAAE;IACtC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CACpD,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,EAC7C,CAAC,CACF,CAAA;IACD,OAAO,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QAC9C,CAAC,CAAC,MAAM,CAAC,IAAI;QACb,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CACvB,MAAM,EACN;IACE,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,QAAQ;CACf,EACD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE;IACnC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,aAAa,CACnC,GAAG,CAAC,GAAG,CAAC;QACN,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;QAClD,MAAM,EAAE,6BAA6B;KACtC,CAAC,EACF,IAAI,CACL,CAAA;IACD,KAAK,CAAC,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,WAAW,EAAE,0BAA0B;KACxC,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC,CAAA;AAEnE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CACtB,KAAK,EACL;IACE,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC3D,IAAI,EAAE,QAAQ;CACf,EACD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,aAAa,CACnC,GAAG,CAAC,GAAG,CAAC;QACN,IAAI,EAAE,uBAAuB,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;QACrE,MAAM,EAAE,2BAA2B;KACpC,CAAC,EACF,IAAI,CACL,CAAA;IACD,KAAK,CAAC,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,WAAW,EAAE,4BAA4B;KAC1C,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,0CAA0C,CAAC,CAAC,CAAA;AAE3E,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,QAAQ,EACR;IACE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;IACpC,WAAW,EAAE,eAAe;IAC5B,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,YAAY;IACtB,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,aAAa;IACxB,gBAAgB,EAAE,mBAAmB;IACrC,WAAW,EAAE,cAAc;IAC3B,cAAc,EAAE,kBAAkB;IAClC,IAAI,EAAE,QAAQ;CACf,EACD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,OAAO;IACzB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,aAAa,CACtC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,EACrC,OAAO,CAAC,IAAI,CACb,CAAA;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,aAAa,CACjC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EACpC,OAAO,CAAC,IAAI,CACb,CAAA;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,aAAa,CACnC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC/B,OAAO,CAAC,IAAI,CACb,CAAA;IACD,KAAK,CAAC,CAAC,aAAa,CAClB,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,EAC7C,OAAO,CAAC,IAAI,CACb,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxD,KAAK,CAAC,CAAC,aAAa,CAClB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,EACjD,OAAO,CAAC,IAAI,CACb,CAAA;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACjE,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACvE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,aAAa,CACtC,gBAAgB,CAAC,OAAO,CAAC,EACzB,OAAO,CAAC,IAAI,CACb,CAAA;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAClC,KAAK,CAAC,CAAC,aAAa,CAClB,kBAAkB,CAChB,WAAW,CAAC,WAAW,EACvB,MAAM,EACN,4DAA4D,CAC7D,EACD,OAAO,CAAC,IAAI,CACb,CAAA;IACH,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CACvD,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,WAAW,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB;QACzE,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE;YACJ,WAAW;YACX,MAAM;YACN,QAAQ;YACR,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;YACjC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC/C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,YAAY;gBACpC,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO;gBAC/B,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE;gBAC1C,CAAC,CAAC,EAAE,CAAC;SACR;QACD,UAAU,EAAE,6BAA6B;QACzC,MAAM,EAAE,8BAA8B;QACtC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;KACtE,CAAC,EACF,OAAO,CAAC,IAAI,CACb,CAAA;IACD,KAAK,CAAC,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,6BAA6B;KAC3C,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,uCAAuC,CAAC,CAAC,CAAA;AAExE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,QAAQ,EACR;IACE,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC3D,WAAW,EAAE,qBAAqB;IAClC,MAAM,EAAE,gBAAgB;IACxB,QAAQ,EAAE,kBAAkB;IAC5B,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,mBAAmB;IAC9B,SAAS,EAAE,mBAAmB;IAC9B,gBAAgB,EAAE,mBAAmB;IACrC,WAAW,EAAE,cAAc;IAC3B,cAAc,EAAE,kBAAkB;IAClC,IAAI,EAAE,QAAQ;CACf,EACD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,OAAO;IACzB,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,WAAW,GAAG,cAAc,KAAK,SAAS;QAC9C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACxE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,aAAa,CACjC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAC5C,OAAO,CAAC,IAAI,CACb,CAAA;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxD,KAAK,CAAC,CAAC,aAAa,CAClB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,EACjD,OAAO,CAAC,IAAI,CACb,CAAA;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACjE,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACvE,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC1D,MAAM,YAAY,GAAG,SAAS,KAAK,SAAS;QAC1C,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAC5B,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;QACnC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAA;IAChC,IAAI,YAAY,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC,CAAC,aAAa,CACzB,SAAS,CAAC,oEAAoE,CAAC,EAC/E,OAAO,CAAC,IAAI,CACb,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,KAAK,SAAS;QACzC,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QAC3C,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAClB,gBAAgB,CAAC;YACf,SAAS;YACT,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,EACF,OAAO,CAAC,IAAI,CACb,CAAA;IACL,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACrD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,SAAS,KAAK,SAAS;YACzB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,SAAS,KAAK,YAAY;YAC5B,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,EAAE;YACpD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,SAAS,KAAK,OAAO;YACvB,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,CAAC,aAAa,CACzB,SAAS,CAAC,sCAAsC,CAAC,EACjD,OAAO,CAAC,IAAI,CACb,CAAA;IACH,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa,CAClC,GAAG,CAAC,GAAG,CAAC;YACN,IAAI,EAAE,uBAAuB,kBAAkB,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;YAC7E,MAAM,EAAE,2BAA2B;SACpC,CAAC,EACF,OAAO,CAAC,IAAI,CACb,CAAA;QACD,KAAK,CAAC,CAAC,aAAa,CAClB,kBAAkB,CAChB,WAAW,CAAC,WAAW,EACvB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,EACzC,oEAAoE,CACrE,EACD,OAAO,CAAC,IAAI,CACb,CAAA;IACH,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CACvD,GAAG,CAAC,KAAK,CAAC;QACR,IAAI,EAAE,uBAAuB,kBAAkB,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;QAC7E,IAAI;QACJ,UAAU,EAAE,6BAA6B;QACzC,MAAM,EAAE,gCAAgC;QACxC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;KACtE,CAAC,EACF,OAAO,CAAC,IAAI,CACb,CAAA;IACD,KAAK,CAAC,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,4BAA4B;KAC1C,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAC5B,sKAAsK,CACvK,CAAC,CAAA;AAEF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CACxB,OAAO,EACP;IACE,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC3D,cAAc,EAAE,kBAAkB;IAClC,IAAI,EAAE,QAAQ;CACf,EACD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,EAAE,kBAAkB,EAAE,cAAc,EAAE,IAAI,EAAE;IAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;IACzD,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CACvD,GAAG,CAAC,KAAK,CAAC;QACR,IAAI,EAAE,uBAAuB,kBAAkB,CAAC,kBAAkB,CAAC,QAAQ;QAC3E,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;QACtB,UAAU,EAAE,gCAAgC;QAC5C,MAAM,EAAE,gCAAgC;QACxC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;KACtE,CAAC,EACF,IAAI,CACL,CAAA;IACD,KAAK,CAAC,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,IAAI;QACJ,WAAW,EAAE,4BAA4B;KAC1C,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,kDAAkD,CAAC,CAAC,CAAA;AAEnF,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,QAAQ,EACR;IACE,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC3D,cAAc,EAAE,kBAAkB;IAClC,IAAI,EAAE,QAAQ;CACf,EACD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,EAAE,kBAAkB,EAAE,cAAc,EAAE,IAAI,EAAE;IAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;IACzD,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CACvD,GAAG,CAAC,KAAK,CAAC;QACR,IAAI,EAAE,uBAAuB,kBAAkB,CAAC,kBAAkB,CAAC,QAAQ;QAC3E,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;QACvB,UAAU,EAAE,gCAAgC;QAC5C,MAAM,EAAE,gCAAgC;QACxC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;KACtE,CAAC,EACF,IAAI,CACL,CAAA;IACD,KAAK,CAAC,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,IAAI;QACJ,WAAW,EAAE,4BAA4B;KAC1C,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,gDAAgD,CAAC,CAAC,CAAA;AAEjF,MAAM,sBAAsB,GAAG,OAAO,CAAC,IAAI,CACzC,QAAQ,EACR;IACE,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC;IAC3D,GAAG,EAAE,OAAO;IACZ,cAAc,EAAE,kBAAkB;IAClC,IAAI,EAAE,QAAQ;CACf,EACD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAC,EAAE,kBAAkB,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE;IACnE,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,CAAC,aAAa,CACzB,SAAS,CACP,mEAAmE,CACpE,EACD,IAAI,CACL,CAAA;IACH,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;IACzD,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAA;IAE/D,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;IAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CACvC,GAAG,CAAC,GAAG,CAAC;QACN,IAAI,EAAE,uBAAuB,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;QACrE,MAAM,EAAE,2BAA2B;KACpC,CAAC,CACH,CAAA;IAED,mFAAmF;IACnF,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,qBAAqB,GAAG,YAAY,CAAC,IAAI,KAAK,SAAS;QAC3D,WAAW,KAAK,SAAS;QACzB,YAAY,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAiB;QAC/C,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,GAAG,CAAA;IACrC,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;IACtE,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAEjF,IAAI,CAAC,GAAG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,4BAA4B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC/E,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YACjD,OAAO,EAAE,wCAAwC,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG;YAC9E,OAAO,EAAE,KAAK;SACf,CAAC,CAAC,CAAA;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;YACzC,OAAM;QACR,CAAC;IACH,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CACvD,GAAG,CAAC,MAAM,CAAC;QACT,IAAI,EAAE,uBAAuB,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;QACrE,IAAI,EAAE;YACJ,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,4BAA4B,kBAAkB,gDAAgD;SAC3G;QACD,UAAU,EAAE,6BAA6B;QACzC,MAAM,EAAE,8BAA8B;QACtC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;KACtE,CAAC,EACF,IAAI,CACL,CAAA;IACD,KAAK,CAAC,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,IAAI;QACJ,WAAW,EAAE,6BAA6B;KAC3C,CAAC,CAAA;AACJ,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAC5B,uGAAuG,CACxG,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAClD,oBAAoB,CACrB,CAAC,IAAI,CACJ,OAAO,CAAC,eAAe,CAAC,gDAAgD,CAAC,EACzE,OAAO,CAAC,eAAe,CAAC;IACtB,IAAI;IACJ,GAAG;IACH,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,sBAAsB;CACvB,CAAC,CACH,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { Command, Prompt } from "effect/unstable/cli";
2
+ import { ApiClient } from "../api/client.js";
3
+ import { CliInputError } from "../errors.js";
4
+ export declare const settlementsCommand: Command.Command<"settlements", {}, {}, CliInputError | import("../api/client.js").ApiClientError | import("effect/Terminal").QuitError, ApiClient | Prompt.Environment>;
5
+ //# sourceMappingURL=settlements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlements.d.ts","sourceRoot":"","sources":["../../src/commands/settlements.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,OAAO,EAAQ,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAc5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAiV5C,eAAO,MAAM,kBAAkB,yKAG9B,CAAA"}