@will-17173/telegram-cli 0.2.0 → 0.4.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 (197) hide show
  1. package/README.md +241 -61
  2. package/README.zh-CN.md +250 -73
  3. package/dist/account/account-authenticator.js +95 -0
  4. package/dist/account/account-authenticator.js.map +1 -0
  5. package/dist/account/account-context.js +7 -0
  6. package/dist/account/account-context.js.map +1 -1
  7. package/dist/account/account-name.js +17 -0
  8. package/dist/account/account-name.js.map +1 -0
  9. package/dist/account/account-presets.js +20 -3
  10. package/dist/account/account-presets.js.map +1 -1
  11. package/dist/account/account-store.js +277 -37
  12. package/dist/account/account-store.js.map +1 -1
  13. package/dist/cli/app.js +12 -1
  14. package/dist/cli/app.js.map +1 -1
  15. package/dist/cli/output.js +21 -6
  16. package/dist/cli/output.js.map +1 -1
  17. package/dist/cli/secure-input.js +408 -0
  18. package/dist/cli/secure-input.js.map +1 -0
  19. package/dist/commands/account-options.js +37 -7
  20. package/dist/commands/account-options.js.map +1 -1
  21. package/dist/commands/account.js +192 -66
  22. package/dist/commands/account.js.map +1 -1
  23. package/dist/commands/archive.js +151 -0
  24. package/dist/commands/archive.js.map +1 -0
  25. package/dist/commands/config.js +119 -12
  26. package/dist/commands/config.js.map +1 -1
  27. package/dist/commands/contact.js +58 -0
  28. package/dist/commands/contact.js.map +1 -0
  29. package/dist/commands/data.js +14 -7
  30. package/dist/commands/data.js.map +1 -1
  31. package/dist/commands/dialog.js +156 -0
  32. package/dist/commands/dialog.js.map +1 -0
  33. package/dist/commands/folder.js +113 -0
  34. package/dist/commands/folder.js.map +1 -0
  35. package/dist/commands/group-write.js +128 -0
  36. package/dist/commands/group-write.js.map +1 -0
  37. package/dist/commands/group.js +43 -7
  38. package/dist/commands/group.js.map +1 -1
  39. package/dist/commands/notification.js +76 -0
  40. package/dist/commands/notification.js.map +1 -0
  41. package/dist/commands/query.js +22 -15
  42. package/dist/commands/query.js.map +1 -1
  43. package/dist/commands/telegram-runner.js +40 -18
  44. package/dist/commands/telegram-runner.js.map +1 -1
  45. package/dist/commands/telegram.js +172 -109
  46. package/dist/commands/telegram.js.map +1 -1
  47. package/dist/commands/time-range.js +39 -0
  48. package/dist/commands/time-range.js.map +1 -0
  49. package/dist/commands/types.js +3 -2
  50. package/dist/commands/types.js.map +1 -1
  51. package/dist/config/credential-store.js +24 -4
  52. package/dist/config/credential-store.js.map +1 -1
  53. package/dist/config/env.js +4 -1
  54. package/dist/config/env.js.map +1 -1
  55. package/dist/group-commands/catalog.js +79 -0
  56. package/dist/group-commands/catalog.js.map +1 -0
  57. package/dist/group-commands/executor.js +102 -0
  58. package/dist/group-commands/executor.js.map +1 -0
  59. package/dist/group-commands/parser.js +268 -0
  60. package/dist/group-commands/parser.js.map +1 -0
  61. package/dist/group-commands/tokenize.js +51 -0
  62. package/dist/group-commands/tokenize.js.map +1 -0
  63. package/dist/group-commands/types.js +2 -0
  64. package/dist/group-commands/types.js.map +1 -0
  65. package/dist/index.js +0 -0
  66. package/dist/listen-commands/catalog.js +61 -0
  67. package/dist/listen-commands/catalog.js.map +1 -0
  68. package/dist/listen-commands/dispatch.js +46 -0
  69. package/dist/listen-commands/dispatch.js.map +1 -0
  70. package/dist/listen-commands/match.js +113 -0
  71. package/dist/listen-commands/match.js.map +1 -0
  72. package/dist/presenters/group.js +40 -0
  73. package/dist/presenters/group.js.map +1 -1
  74. package/dist/presenters/human.js +135 -0
  75. package/dist/presenters/human.js.map +1 -1
  76. package/dist/presenters/ink/display-width.js +45 -7
  77. package/dist/presenters/ink/display-width.js.map +1 -1
  78. package/dist/presenters/ink/group-command-confirm.js +13 -0
  79. package/dist/presenters/ink/group-command-confirm.js.map +1 -0
  80. package/dist/presenters/ink/group-command-result.js +23 -0
  81. package/dist/presenters/ink/group-command-result.js.map +1 -0
  82. package/dist/presenters/ink/listen-command-menu.js +38 -0
  83. package/dist/presenters/ink/listen-command-menu.js.map +1 -0
  84. package/dist/presenters/ink/listen-scroll.js +9 -4
  85. package/dist/presenters/ink/listen-scroll.js.map +1 -1
  86. package/dist/presenters/ink/listen.js +572 -52
  87. package/dist/presenters/ink/listen.js.map +1 -1
  88. package/dist/presenters/ink/mouse-scroll.js +12 -0
  89. package/dist/presenters/ink/mouse-scroll.js.map +1 -1
  90. package/dist/presenters/ink/secure-input.js +68 -0
  91. package/dist/presenters/ink/secure-input.js.map +1 -0
  92. package/dist/presenters/ink/use-group-command.js +186 -0
  93. package/dist/presenters/ink/use-group-command.js.map +1 -0
  94. package/dist/presenters/listen-message.js +23 -6
  95. package/dist/presenters/listen-message.js.map +1 -1
  96. package/dist/presenters/logical-message.js +78 -0
  97. package/dist/presenters/logical-message.js.map +1 -0
  98. package/dist/presenters/markdown.js +54 -0
  99. package/dist/presenters/markdown.js.map +1 -0
  100. package/dist/presenters/structured.js +8 -3
  101. package/dist/presenters/structured.js.map +1 -1
  102. package/dist/services/account-session-service.js +241 -0
  103. package/dist/services/account-session-service.js.map +1 -0
  104. package/dist/services/archive-layout.js +61 -0
  105. package/dist/services/archive-layout.js.map +1 -0
  106. package/dist/services/archive-manifest.js +187 -0
  107. package/dist/services/archive-manifest.js.map +1 -0
  108. package/dist/services/archive-markdown.js +383 -0
  109. package/dist/services/archive-markdown.js.map +1 -0
  110. package/dist/services/archive-service.js +718 -0
  111. package/dist/services/archive-service.js.map +1 -0
  112. package/dist/services/archive-types.js +2 -0
  113. package/dist/services/archive-types.js.map +1 -0
  114. package/dist/services/attachment-download.js +7 -2
  115. package/dist/services/attachment-download.js.map +1 -1
  116. package/dist/services/auto-download-coordinator.js +2 -4
  117. package/dist/services/auto-download-coordinator.js.map +1 -1
  118. package/dist/services/contact-service.js +78 -0
  119. package/dist/services/contact-service.js.map +1 -0
  120. package/dist/services/dialog-service.js +140 -0
  121. package/dist/services/dialog-service.js.map +1 -0
  122. package/dist/services/folder-service.js +200 -0
  123. package/dist/services/folder-service.js.map +1 -0
  124. package/dist/services/group-service.js.map +1 -1
  125. package/dist/services/group-write-service.js +225 -0
  126. package/dist/services/group-write-service.js.map +1 -0
  127. package/dist/services/listen-album-aggregator.js +9 -29
  128. package/dist/services/listen-album-aggregator.js.map +1 -1
  129. package/dist/services/listen-attachment.js +23 -6
  130. package/dist/services/listen-attachment.js.map +1 -1
  131. package/dist/services/listen-composer-command.js +102 -0
  132. package/dist/services/listen-composer-command.js.map +1 -0
  133. package/dist/services/listen-reply-resolver.js +126 -0
  134. package/dist/services/listen-reply-resolver.js.map +1 -0
  135. package/dist/services/message-service.js +17 -1
  136. package/dist/services/message-service.js.map +1 -1
  137. package/dist/services/notification-service.js +142 -0
  138. package/dist/services/notification-service.js.map +1 -0
  139. package/dist/services/query-service.js +59 -3
  140. package/dist/services/query-service.js.map +1 -1
  141. package/dist/services/reply-context.js +29 -0
  142. package/dist/services/reply-context.js.map +1 -0
  143. package/dist/services/write-access-policy.js +19 -0
  144. package/dist/services/write-access-policy.js.map +1 -0
  145. package/dist/storage/message-db.js +241 -5
  146. package/dist/storage/message-db.js.map +1 -1
  147. package/dist/telegram/archive-types.js +2 -0
  148. package/dist/telegram/archive-types.js.map +1 -0
  149. package/dist/telegram/client-factory.js +51 -11
  150. package/dist/telegram/client-factory.js.map +1 -1
  151. package/dist/telegram/contact-types.js +10 -0
  152. package/dist/telegram/contact-types.js.map +1 -0
  153. package/dist/telegram/dialog-types.js +2 -0
  154. package/dist/telegram/dialog-types.js.map +1 -0
  155. package/dist/telegram/errors.js +14 -0
  156. package/dist/telegram/errors.js.map +1 -0
  157. package/dist/telegram/fake-group-management.js +122 -0
  158. package/dist/telegram/fake-group-management.js.map +1 -1
  159. package/dist/telegram/folder-types.js +13 -0
  160. package/dist/telegram/folder-types.js.map +1 -0
  161. package/dist/telegram/group-types.js +40 -0
  162. package/dist/telegram/group-types.js.map +1 -1
  163. package/dist/telegram/group-write-types.js +29 -0
  164. package/dist/telegram/group-write-types.js.map +1 -0
  165. package/dist/telegram/mtcute-archive.js +190 -0
  166. package/dist/telegram/mtcute-archive.js.map +1 -0
  167. package/dist/telegram/mtcute-client.js +73 -12
  168. package/dist/telegram/mtcute-client.js.map +1 -1
  169. package/dist/telegram/mtcute-contacts.js +90 -0
  170. package/dist/telegram/mtcute-contacts.js.map +1 -0
  171. package/dist/telegram/mtcute-dialogs.js +186 -0
  172. package/dist/telegram/mtcute-dialogs.js.map +1 -0
  173. package/dist/telegram/mtcute-folders.js +318 -0
  174. package/dist/telegram/mtcute-folders.js.map +1 -0
  175. package/dist/telegram/mtcute-group-helpers.js +56 -0
  176. package/dist/telegram/mtcute-group-helpers.js.map +1 -0
  177. package/dist/telegram/mtcute-group-invites.js +82 -0
  178. package/dist/telegram/mtcute-group-invites.js.map +1 -0
  179. package/dist/telegram/mtcute-group-management.js +60 -31
  180. package/dist/telegram/mtcute-group-management.js.map +1 -1
  181. package/dist/telegram/mtcute-group-members.js +158 -0
  182. package/dist/telegram/mtcute-group-members.js.map +1 -0
  183. package/dist/telegram/mtcute-group-settings.js +146 -0
  184. package/dist/telegram/mtcute-group-settings.js.map +1 -0
  185. package/dist/telegram/mtcute-group-topics.js +63 -0
  186. package/dist/telegram/mtcute-group-topics.js.map +1 -0
  187. package/dist/telegram/mtcute-message-normalizer.js +63 -0
  188. package/dist/telegram/mtcute-message-normalizer.js.map +1 -0
  189. package/dist/telegram/mtcute-notifications.js +101 -0
  190. package/dist/telegram/mtcute-notifications.js.map +1 -0
  191. package/dist/telegram/notification-types.js +11 -0
  192. package/dist/telegram/notification-types.js.map +1 -0
  193. package/dist/telegram/raw-message.js +46 -0
  194. package/dist/telegram/raw-message.js.map +1 -0
  195. package/dist/telegram/types.js +6 -1
  196. package/dist/telegram/types.js.map +1 -1
  197. package/package.json +20 -10
@@ -32,16 +32,22 @@ export function readCredentials(path) {
32
32
  export function readProxy(path) {
33
33
  return readStoredConfiguration(path)?.proxy;
34
34
  }
35
+ export function readWriteAccess(path) {
36
+ return readStoredConfiguration(path)?.writeAccess ?? true;
37
+ }
35
38
  export function writeConfiguration(path, update) {
36
39
  const existing = readStoredConfiguration(path) ?? {};
37
40
  const credentials = update.credentials === undefined
38
41
  ? existing.credentials
39
42
  : validateCredentials(update.credentials);
40
43
  const proxy = update.proxy === undefined ? existing.proxy : normalizeProxy(update.proxy);
41
- if (!credentials && !proxy) {
44
+ const writeAccess = update.writeAccess === undefined
45
+ ? existing.writeAccess
46
+ : validateWriteAccess(update.writeAccess);
47
+ if (!credentials && !proxy && writeAccess === undefined) {
42
48
  throw new Error(INVALID_CREDENTIALS_MESSAGE);
43
49
  }
44
- writeDocument(path, createDocument({ credentials, proxy }));
50
+ writeDocument(path, createDocument({ credentials, proxy, writeAccess }));
45
51
  }
46
52
  export function writeCredentials(path, credentials) {
47
53
  const normalized = validateCredentials(credentials);
@@ -72,6 +78,7 @@ function parseDocument(value) {
72
78
  const hasApiId = Object.prototype.hasOwnProperty.call(document, 'api_id');
73
79
  const hasApiHash = Object.prototype.hasOwnProperty.call(document, 'api_hash');
74
80
  const hasProxy = Object.prototype.hasOwnProperty.call(document, 'proxy');
81
+ const hasWriteAccess = Object.prototype.hasOwnProperty.call(document, 'write_access');
75
82
  if (hasApiId !== hasApiHash) {
76
83
  throw new Error(INVALID_CREDENTIALS_MESSAGE);
77
84
  }
@@ -89,10 +96,11 @@ function parseDocument(value) {
89
96
  });
90
97
  }
91
98
  const proxy = hasProxy ? normalizeProxy(document.proxy) : undefined;
92
- if (!credentials && !proxy) {
99
+ const writeAccess = hasWriteAccess ? normalizeWriteAccess(document.write_access) : undefined;
100
+ if (!credentials && !proxy && writeAccess === undefined) {
93
101
  throw new Error(INVALID_CREDENTIALS_MESSAGE);
94
102
  }
95
- return { credentials, proxy };
103
+ return { credentials, proxy, writeAccess };
96
104
  }
97
105
  function normalizeProxy(value) {
98
106
  if (typeof value !== 'string' || value.trim().length === 0) {
@@ -100,6 +108,15 @@ function normalizeProxy(value) {
100
108
  }
101
109
  return value.trim();
102
110
  }
111
+ function validateWriteAccess(value) {
112
+ return normalizeWriteAccess(value);
113
+ }
114
+ function normalizeWriteAccess(value) {
115
+ if (typeof value !== 'boolean') {
116
+ throw new Error(INVALID_CREDENTIALS_MESSAGE);
117
+ }
118
+ return value;
119
+ }
103
120
  function createDocument(configuration) {
104
121
  const document = {};
105
122
  if (configuration.credentials) {
@@ -109,6 +126,9 @@ function createDocument(configuration) {
109
126
  if (configuration.proxy) {
110
127
  document.proxy = configuration.proxy;
111
128
  }
129
+ if (configuration.writeAccess !== undefined) {
130
+ document.write_access = configuration.writeAccess;
131
+ }
112
132
  return document;
113
133
  }
114
134
  function writeDocument(path, value) {
@@ -1 +1 @@
1
- {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/config/credential-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,UAAU,EACV,MAAM,EACN,aAAa,GACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,cAAc,GAAG,YAAY,CAAA;AACnC,MAAM,2BAA2B,GAC/B,iGAAiG,CAAA;AACnG,MAAM,2BAA2B,GAAG,+CAA+C,CAAA;AAiBnF,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD;QACE,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,KAGnC;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAExC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;IACnD,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,uBAAuB,EAAE,CAAA;IACrC,CAAC;IACD,OAAO,aAAa,CAAC,WAAW,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,uBAAuB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,MAAmC;IAEnC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACpD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS;QAClD,CAAC,CAAC,QAAQ,CAAC,WAAW;QACtB,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAExF,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,WAAgC;IAC7E,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAA;IACnD,kBAAkB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAA;AACvD,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,IAAI,QAAgB,CAAA;IACpB,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QACnE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,KAAgC,CAAA;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAExE,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,WAA4C,CAAA;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,QAAQ,CAAC,MAAiB,IAAI,CAAC;YAChC,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;YACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACrC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC9C,CAAC;QACD,WAAW,GAAG,mBAAmB,CAAC;YAChC,KAAK,EAAE,QAAQ,CAAC,MAAgB;YAChC,OAAO,EAAE,QAAQ,CAAC,QAAQ;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,aAA0C;IAChE,MAAM,QAAQ,GAA4B,EAAE,CAAA;IAC5C,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAA;QACjD,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAA;IACvD,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;QACxB,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAA;IACtC,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAA8B;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,UAAU,EAAE,MAAM,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;IAEtD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,CAAC;QACH,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACrF,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QAC/B,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QAC/B,OAAO,GAAG,IAAI,CAAA;QACd,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACxB,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAA;AAClD,CAAC"}
1
+ {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../src/config/credential-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,UAAU,EACV,MAAM,EACN,aAAa,GACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,MAAM,cAAc,GAAG,YAAY,CAAA;AACnC,MAAM,2BAA2B,GAC/B,iGAAiG,CAAA;AACnG,MAAM,2BAA2B,GAAG,+CAA+C,CAAA;AAmBnF,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD;QACE,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,KAGnC;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAExC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;IACnD,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,uBAAuB,EAAE,CAAA;IACrC,CAAC;IACD,OAAO,aAAa,CAAC,WAAW,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,uBAAuB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,uBAAuB,CAAC,IAAI,CAAC,EAAE,WAAW,IAAI,IAAI,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,MAAmC;IAEnC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACpD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS;QAClD,CAAC,CAAC,QAAQ,CAAC,WAAW;QACtB,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACxF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS;QAClD,CAAC,CAAC,QAAQ,CAAC,WAAW;QACtB,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAE3C,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,WAAgC;IAC7E,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAA;IACnD,kBAAkB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAA;AACvD,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,IAAI,QAAgB,CAAA;IACpB,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAA;QACnE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,KAAgC,CAAA;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACxE,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAErF,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,WAA4C,CAAA;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrC,QAAQ,CAAC,MAAiB,IAAI,CAAC;YAChC,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;YACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACrC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC9C,CAAC;QACD,WAAW,GAAG,mBAAmB,CAAC;YAChC,KAAK,EAAE,QAAQ,CAAC,MAAgB;YAChC,OAAO,EAAE,QAAQ,CAAC,QAAQ;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnE,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5F,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;AACrB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,cAAc,CAAC,aAA0C;IAChE,MAAM,QAAQ,GAA4B,EAAE,CAAA;IAC5C,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAA;QACjD,QAAQ,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAA;IACvD,CAAC;IACD,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;QACxB,QAAQ,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAA;IACtC,CAAC;IACD,IAAI,aAAa,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5C,QAAQ,CAAC,YAAY,GAAG,aAAa,CAAC,WAAW,CAAA;IACnD,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAA8B;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,UAAU,EAAE,MAAM,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;IAEtD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,CAAC;QACH,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QACrF,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QAC/B,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;QAC/B,OAAO,GAAG,IAAI,CAAA;QACd,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACxB,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAA;AAClD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { mkdirSync } from 'node:fs';
2
2
  import { homedir } from 'node:os';
3
3
  import { isAbsolute, join, resolve } from 'node:path';
4
- import { MissingCredentialsError, readCredentials, readProxy, validateCredentials, } from './credential-store.js';
4
+ import { MissingCredentialsError, readCredentials, readProxy, readWriteAccess, validateCredentials, } from './credential-store.js';
5
5
  const APP_NAME = 'tg-cli';
6
6
  const DEFAULT_API_ID = 2040;
7
7
  const DEFAULT_API_HASH = 'b18441a1ff607e10a989891a5462e627';
@@ -45,6 +45,9 @@ export function getTelegramProxyConfiguration() {
45
45
  export function getTelegramProxy() {
46
46
  return getTelegramProxyConfiguration()?.url;
47
47
  }
48
+ export function getTelegramWriteAccess() {
49
+ return readWriteAccess(getConfigPath());
50
+ }
48
51
  export function getSessionName() {
49
52
  const raw = process.env.TG_SESSION_NAME;
50
53
  return raw && raw.trim() ? raw.trim() : 'tg_cli';
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ function deepFreezeCommand(command) {
2
+ command.args.forEach(Object.freeze);
3
+ command.options.forEach(Object.freeze);
4
+ Object.freeze(command.path);
5
+ Object.freeze(command.args);
6
+ Object.freeze(command.options);
7
+ return Object.freeze(command);
8
+ }
9
+ const commands = [
10
+ { path: ['member', 'add'], summary: 'Add members to the chat', usage: 'group member add <users...>', options: [], risk: 'none', args: [{ name: 'users', kind: 'users', required: true, rest: true }], capability: 'admin' },
11
+ { path: ['member', 'kick'], summary: 'Remove a member from the chat', usage: 'group member kick <user>', options: [], risk: 'confirm', args: [{ name: 'user', kind: 'user', required: true }], capability: 'admin' },
12
+ { path: ['member', 'ban'], summary: 'Ban a member from the chat', usage: 'group member ban <user>', options: [], risk: 'confirm', args: [{ name: 'user', kind: 'user', required: true }], capability: 'admin' },
13
+ { path: ['member', 'unban'], summary: 'Lift a member ban', usage: 'group member unban <user>', options: [], risk: 'confirm', args: [{ name: 'user', kind: 'user', required: true }], capability: 'admin' },
14
+ { path: ['member', 'mute'], summary: 'Mute a member for an optional duration', usage: 'group member mute <user> [duration]', options: [], risk: 'confirm', args: [{ name: 'user', kind: 'user', required: true }, { name: 'duration', kind: 'duration', required: false }], capability: 'admin' },
15
+ { path: ['member', 'unmute'], summary: 'Restore a muted member permissions', usage: 'group member unmute <user>', options: [], risk: 'confirm', args: [{ name: 'user', kind: 'user', required: true }], capability: 'admin' },
16
+ { path: ['member', 'purge'], summary: 'Delete all messages from a member', usage: 'group member purge <user>', options: [], risk: 'confirm', args: [{ name: 'user', kind: 'user', required: true }], capability: 'admin' },
17
+ { path: ['admin', 'promote'], summary: 'Promote a member to administrator', usage: 'group admin promote <user> [permissions]', options: [], risk: 'confirm', args: [{ name: 'user', kind: 'user', required: true }, { name: 'permissions', kind: 'permissions', required: false }], capability: 'admin' },
18
+ { path: ['admin', 'demote'], summary: 'Remove administrator privileges', usage: 'group admin demote <user>', options: [], risk: 'confirm', args: [{ name: 'user', kind: 'user', required: true }], capability: 'admin' },
19
+ { path: ['admin', 'rank'], summary: 'Set an administrator custom title', usage: 'group admin rank <user> <text...>', options: [], risk: 'confirm', args: [{ name: 'user', kind: 'user', required: true }, { name: 'text', kind: 'text', required: true, rest: true }], capability: 'admin' },
20
+ { path: ['admin', 'transfer-owner'], summary: 'Transfer ownership to another member', usage: 'group admin transfer-owner <user>', options: [], risk: 'confirm', args: [{ name: 'user', kind: 'user', required: true }], capability: 'creator' },
21
+ { path: ['chat', 'title'], summary: 'Change the chat title', usage: 'group chat title <text...>', options: [], risk: 'none', args: [{ name: 'text', kind: 'text', required: true, rest: true }], capability: 'admin' },
22
+ { path: ['chat', 'description'], summary: 'Change the chat description', usage: 'group chat description <text...>', options: [], risk: 'none', args: [{ name: 'text', kind: 'text', required: true, rest: true }], capability: 'admin' },
23
+ { path: ['chat', 'username'], summary: 'Change the public chat username', usage: 'group chat username <username>', options: [], risk: 'none', args: [{ name: 'username', kind: 'text', required: true }], capability: 'supergroup' },
24
+ { path: ['chat', 'photo'], summary: 'Set the chat photo from a file', usage: 'group chat photo <path>', options: [], risk: 'none', args: [{ name: 'path', kind: 'path', required: true }], capability: 'admin' },
25
+ { path: ['chat', 'slowmode'], summary: 'Set the slow mode interval', usage: 'group chat slowmode <duration>', options: [], risk: 'none', args: [{ name: 'duration', kind: 'duration', required: true }], capability: 'supergroup' },
26
+ { path: ['chat', 'ttl'], summary: 'Set the message auto-delete interval', usage: 'group chat ttl <duration>', options: [], risk: 'confirm', args: [{ name: 'duration', kind: 'duration', required: true }], capability: 'admin' },
27
+ { path: ['chat', 'protect'], summary: 'Toggle content protection', usage: 'group chat protect <enabled>', options: [], risk: 'none', args: [{ name: 'enabled', kind: 'toggle', required: true }], capability: 'admin' },
28
+ { path: ['chat', 'join-requests'], summary: 'Toggle approval for new members', usage: 'group chat join-requests <enabled>', options: [], risk: 'none', args: [{ name: 'enabled', kind: 'toggle', required: true }], capability: 'supergroup' },
29
+ { path: ['chat', 'join-to-send'], summary: 'Toggle membership requirement for posting', usage: 'group chat join-to-send <enabled>', options: [], risk: 'none', args: [{ name: 'enabled', kind: 'toggle', required: true }], capability: 'supergroup' },
30
+ { path: ['chat', 'default-permissions'], summary: 'Set default member permissions', usage: 'group chat default-permissions <permissions>', options: [], risk: 'confirm', args: [{ name: 'permissions', kind: 'permissions', required: true }], capability: 'admin' },
31
+ { path: ['chat', 'sticker-set'], summary: 'Set the chat sticker set by name, or off', usage: 'group chat sticker-set <sticker>', options: [], risk: 'none', args: [{ name: 'sticker', kind: 'text', required: true }], capability: 'supergroup' },
32
+ { path: ['chat', 'leave'], summary: 'Leave the current chat', usage: 'group chat leave', options: [], risk: 'confirm', args: [], capability: 'group' },
33
+ { path: ['chat', 'delete'], summary: 'Permanently delete the chat', usage: 'group chat delete', options: [], risk: 'confirm-title', args: [], capability: 'creator' },
34
+ { path: ['invite', 'list'], summary: 'List chat invite links', usage: 'group invite list', options: [], risk: 'none', args: [], capability: 'admin' },
35
+ { path: ['invite', 'show'], summary: 'Show details for an invite link', usage: 'group invite show <invite>', options: [], risk: 'none', args: [{ name: 'invite', kind: 'invite', required: true }], capability: 'admin' },
36
+ { path: ['invite', 'create'], summary: 'Create a new invite link', usage: 'group invite create', options: [{ name: 'title', long: '--title', kind: 'text', summary: 'Set a descriptive title' }, { name: 'expire', long: '--expire', kind: 'duration', summary: 'Set the link expiration duration' }, { name: 'limit', long: '--limit', kind: 'id', summary: 'Set the maximum number of uses' }, { name: 'request-needed', long: '--request-needed', kind: 'toggle', summary: 'Require administrator approval' }], risk: 'none', args: [], capability: 'admin' },
37
+ { path: ['invite', 'edit'], summary: 'Edit an existing invite link', usage: 'group invite edit <invite>', options: [{ name: 'title', long: '--title', kind: 'text', summary: 'Set a descriptive title' }, { name: 'expire', long: '--expire', kind: 'duration', summary: 'Set the link expiration duration' }, { name: 'limit', long: '--limit', kind: 'id', summary: 'Set the maximum number of uses' }, { name: 'request-needed', long: '--request-needed', kind: 'toggle', summary: 'Require administrator approval' }], risk: 'none', args: [{ name: 'invite', kind: 'invite', required: true }], capability: 'admin' },
38
+ { path: ['invite', 'revoke'], summary: 'Revoke an invite link', usage: 'group invite revoke <invite>', options: [], risk: 'confirm', args: [{ name: 'invite', kind: 'invite', required: true }], capability: 'admin' },
39
+ { path: ['invite', 'members'], summary: 'List members who used an invite link', usage: 'group invite members <invite>', options: [], risk: 'none', args: [{ name: 'invite', kind: 'invite', required: true }], capability: 'admin' },
40
+ { path: ['invite', 'approve'], summary: 'Approve a pending join request', usage: 'group invite approve <user>', options: [], risk: 'none', args: [{ name: 'user', kind: 'user', required: true }], capability: 'admin' },
41
+ { path: ['invite', 'decline'], summary: 'Decline a pending join request', usage: 'group invite decline <user>', options: [], risk: 'none', args: [{ name: 'user', kind: 'user', required: true }], capability: 'admin' },
42
+ { path: ['invite', 'approve-all'], summary: 'Approve all pending join requests', usage: 'group invite approve-all', options: [], risk: 'confirm', args: [], capability: 'admin' },
43
+ { path: ['invite', 'decline-all'], summary: 'Decline all pending join requests', usage: 'group invite decline-all', options: [], risk: 'confirm', args: [], capability: 'admin' },
44
+ { path: ['topic', 'list'], summary: 'List forum topics', usage: 'group topic list', options: [], risk: 'none', args: [], capability: 'forum' },
45
+ { path: ['topic', 'create'], summary: 'Create a forum topic', usage: 'group topic create <title...>', options: [], risk: 'none', args: [{ name: 'title', kind: 'text', required: true, rest: true }], capability: 'forum' },
46
+ { path: ['topic', 'edit'], summary: 'Edit a forum topic title', usage: 'group topic edit <id> <title...>', options: [], risk: 'none', args: [{ name: 'id', kind: 'id', required: true }, { name: 'title', kind: 'text', required: true, rest: true }], capability: 'forum' },
47
+ { path: ['topic', 'close'], summary: 'Close a forum topic', usage: 'group topic close <id>', options: [], risk: 'none', args: [{ name: 'id', kind: 'id', required: true }], capability: 'forum' },
48
+ { path: ['topic', 'reopen'], summary: 'Reopen a closed forum topic', usage: 'group topic reopen <id>', options: [], risk: 'none', args: [{ name: 'id', kind: 'id', required: true }], capability: 'forum' },
49
+ { path: ['topic', 'pin'], summary: 'Pin a forum topic', usage: 'group topic pin <id>', options: [], risk: 'none', args: [{ name: 'id', kind: 'id', required: true }], capability: 'forum' },
50
+ { path: ['topic', 'unpin'], summary: 'Unpin a forum topic', usage: 'group topic unpin <id>', options: [], risk: 'none', args: [{ name: 'id', kind: 'id', required: true }], capability: 'forum' },
51
+ { path: ['topic', 'reorder'], summary: 'Set the order of pinned forum topics', usage: 'group topic reorder <ids...>', options: [], risk: 'none', args: [{ name: 'ids', kind: 'ids', required: true, rest: true }], capability: 'forum' },
52
+ { path: ['topic', 'delete'], summary: 'Delete a forum topic and its messages', usage: 'group topic delete <id>', options: [], risk: 'confirm', args: [{ name: 'id', kind: 'id', required: true }], capability: 'forum' },
53
+ { path: ['topic', 'general-hidden'], summary: 'Toggle visibility of the general topic', usage: 'group topic general-hidden <hidden>', options: [], risk: 'none', args: [{ name: 'hidden', kind: 'toggle', required: true }], capability: 'forum' },
54
+ { path: ['message', 'pin'], summary: 'Pin a message in the chat', usage: 'group message pin <id>', options: [], risk: 'none', args: [{ name: 'id', kind: 'id', required: true }], capability: 'admin' },
55
+ { path: ['message', 'unpin'], summary: 'Unpin a message in the chat', usage: 'group message unpin <id>', options: [], risk: 'none', args: [{ name: 'id', kind: 'id', required: true }], capability: 'admin' },
56
+ { path: ['message', 'unpin-all'], summary: 'Unpin every message in the chat', usage: 'group message unpin-all', options: [], risk: 'confirm', args: [], capability: 'admin' },
57
+ { path: ['message', 'delete'], summary: 'Delete messages from the chat', usage: 'group message delete <ids...>', options: [], risk: 'confirm', args: [{ name: 'ids', kind: 'ids', required: true, rest: true }], capability: 'admin' }
58
+ ];
59
+ commands.forEach(deepFreezeCommand);
60
+ export const GROUP_COMMANDS = Object.freeze(commands);
61
+ export const GROUP_COMMAND_CATALOG = {
62
+ 'member add': GROUP_COMMANDS[0], 'member kick': GROUP_COMMANDS[1], 'member ban': GROUP_COMMANDS[2], 'member unban': GROUP_COMMANDS[3], 'member mute': GROUP_COMMANDS[4], 'member unmute': GROUP_COMMANDS[5], 'member purge': GROUP_COMMANDS[6],
63
+ 'admin promote': GROUP_COMMANDS[7], 'admin demote': GROUP_COMMANDS[8], 'admin rank': GROUP_COMMANDS[9], 'admin transfer-owner': GROUP_COMMANDS[10],
64
+ 'chat title': GROUP_COMMANDS[11], 'chat description': GROUP_COMMANDS[12], 'chat username': GROUP_COMMANDS[13], 'chat photo': GROUP_COMMANDS[14], 'chat slowmode': GROUP_COMMANDS[15], 'chat ttl': GROUP_COMMANDS[16], 'chat protect': GROUP_COMMANDS[17], 'chat join-requests': GROUP_COMMANDS[18], 'chat join-to-send': GROUP_COMMANDS[19], 'chat default-permissions': GROUP_COMMANDS[20], 'chat sticker-set': GROUP_COMMANDS[21], 'chat leave': GROUP_COMMANDS[22], 'chat delete': GROUP_COMMANDS[23],
65
+ 'invite list': GROUP_COMMANDS[24], 'invite show': GROUP_COMMANDS[25], 'invite create': GROUP_COMMANDS[26], 'invite edit': GROUP_COMMANDS[27], 'invite revoke': GROUP_COMMANDS[28], 'invite members': GROUP_COMMANDS[29], 'invite approve': GROUP_COMMANDS[30], 'invite decline': GROUP_COMMANDS[31], 'invite approve-all': GROUP_COMMANDS[32], 'invite decline-all': GROUP_COMMANDS[33],
66
+ 'topic list': GROUP_COMMANDS[34], 'topic create': GROUP_COMMANDS[35], 'topic edit': GROUP_COMMANDS[36], 'topic close': GROUP_COMMANDS[37], 'topic reopen': GROUP_COMMANDS[38], 'topic pin': GROUP_COMMANDS[39], 'topic unpin': GROUP_COMMANDS[40], 'topic reorder': GROUP_COMMANDS[41], 'topic delete': GROUP_COMMANDS[42], 'topic general-hidden': GROUP_COMMANDS[43],
67
+ 'message pin': GROUP_COMMANDS[44], 'message unpin': GROUP_COMMANDS[45], 'message unpin-all': GROUP_COMMANDS[46], 'message delete': GROUP_COMMANDS[47],
68
+ };
69
+ export const READ_ONLY_GROUP_COMMANDS = [
70
+ 'invite list',
71
+ 'invite show',
72
+ 'invite members',
73
+ 'topic list',
74
+ ];
75
+ const readOnlyGroupCommands = new Set(READ_ONLY_GROUP_COMMANDS);
76
+ export function isReadOnlyGroupCommand(key) {
77
+ return readOnlyGroupCommands.has(key);
78
+ }
79
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/group-commands/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { isReadOnlyGroupCommand } from './catalog.js';
2
+ import { ADMIN_RIGHT_KEYS, canonicalCommandKey } from '../services/group-write-service.js';
3
+ export async function executeGroupCommand(request, context) {
4
+ const key = canonicalCommandKey(request);
5
+ if (!key)
6
+ return error('invalid_command', 'Invalid or noncanonical group command.');
7
+ if (context.connectionReady === false)
8
+ return error('connection_not_ready', 'Telegram connection is not ready.');
9
+ if (context.targetAvailable === false || (context.targetCount !== undefined && context.targetCount !== 1))
10
+ return error('ambiguous_chat', 'Select exactly one target chat.');
11
+ if (request.key === 'admin promote' && (!request.values.permissions || request.values.permissions.length === 0)) {
12
+ return { ok: false, selectionRequired: { kind: 'admin_permissions', chat: context.chat, target: String(request.values.user), available: ADMIN_RIGHT_KEYS } };
13
+ }
14
+ const capabilityFailure = preflight(request, context.knownGroup);
15
+ if (capabilityFailure)
16
+ return capabilityFailure;
17
+ const risk = request.definition.risk;
18
+ const titleMatches = risk !== 'confirm-title' || (context.knownGroup != null && context.confirmationTitle === context.knownGroup.title);
19
+ if (isConfirmationRequest(request) && (!context.confirmed || !titleMatches)) {
20
+ const confirmation = confirmationContext(request, context);
21
+ return { ok: false, confirmation: { risk: request.definition.risk, chat: context.chat, summary: request.definition.summary, ...confirmation, ...(request.definition.risk === 'confirm-title' && context.knownGroup ? { title: context.knownGroup.title } : {}) } };
22
+ }
23
+ if (request.key === 'admin transfer-owner' && !context.ownershipPassword) {
24
+ return { ok: false, secretRequired: { kind: 'ownership_password' } };
25
+ }
26
+ const result = request.key === 'admin transfer-owner'
27
+ ? await context.groups.execute({ ...request, chat: context.chat }, { ownershipPassword: context.ownershipPassword })
28
+ : await context.groups.execute({ ...request, chat: context.chat });
29
+ if (result.ok && !isReadOnlyGroupCommand(key) && context.invalidateGroup) {
30
+ const invalidation = Promise.resolve(context.invalidateGroup(context.chat)).catch(() => undefined);
31
+ if (request.key === 'admin transfer-owner')
32
+ void invalidation;
33
+ else
34
+ await invalidation;
35
+ }
36
+ return result;
37
+ }
38
+ function isConfirmationRequest(request) { return request.definition.risk !== 'none'; }
39
+ function confirmationContext(request, context) {
40
+ switch (request.key) {
41
+ case 'member kick':
42
+ case 'member ban':
43
+ case 'member unban':
44
+ case 'member unmute':
45
+ case 'member purge': return { target: String(request.values.user), details: { user: request.values.user } };
46
+ case 'member mute': return { target: String(request.values.user), details: { user: request.values.user, durationSeconds: request.values.durationSeconds ?? null } };
47
+ case 'admin promote': return { target: String(request.values.user), details: { user: request.values.user, permissions: [...(request.values.permissions ?? [])] } };
48
+ case 'admin demote':
49
+ case 'admin transfer-owner': return { target: String(request.values.user), details: { user: request.values.user } };
50
+ case 'admin rank': return { target: String(request.values.user), details: { user: request.values.user, rank: request.values.text } };
51
+ case 'invite revoke': return { target: request.values.invite, details: { invite: request.values.invite } };
52
+ case 'topic delete': return { target: `topic ${request.values.id}`, details: { topicId: request.values.id } };
53
+ case 'message delete': return { target: `messages ${request.values.ids.join(', ')}`, details: { messageIds: [...request.values.ids] } };
54
+ case 'chat delete': return { target: context.knownGroup?.title ?? String(context.chat), details: { chat: context.chat, ...(context.knownGroup ? { title: context.knownGroup.title } : {}) } };
55
+ case 'chat leave': return { target: context.knownGroup?.title ?? String(context.chat), details: { chat: context.chat } };
56
+ case 'chat ttl': return { target: context.knownGroup?.title ?? String(context.chat), details: { durationSeconds: request.values.durationSeconds } };
57
+ case 'chat default-permissions': return { target: context.knownGroup?.title ?? String(context.chat), details: { permissions: [...request.values.permissions] } };
58
+ case 'invite approve-all':
59
+ case 'invite decline-all':
60
+ case 'message unpin-all': return { target: context.knownGroup?.title ?? String(context.chat), details: { chat: context.chat } };
61
+ }
62
+ }
63
+ function preflight(request, group) {
64
+ return evaluateGroupCommandAvailability(request.definition, group);
65
+ }
66
+ export function evaluateGroupCommandAvailability(definition, group) {
67
+ if (!group)
68
+ return undefined;
69
+ const capabilityError = evaluateGroupCapability(definition.capability, group);
70
+ if (capabilityError)
71
+ return capabilityError;
72
+ const permission = requiredPermission[definition.path.join(' ')];
73
+ if (group.current_user_role !== 'creator' && permission && (group.permissions == null || !group.permissions[permission])) {
74
+ return { ok: false, error: { code: 'permission_missing', message: `Missing Telegram group permission: ${permission}`, details: { permission } } };
75
+ }
76
+ return undefined;
77
+ }
78
+ export function evaluateGroupCapability(capability, group) {
79
+ if (!group)
80
+ return undefined;
81
+ if (capability === 'group' && group.type !== 'group' && group.type !== 'supergroup')
82
+ return error('unsupported_group', 'This command requires a group.');
83
+ if (capability === 'supergroup' && group.type !== 'supergroup')
84
+ return error('unsupported_group', 'This command requires a supergroup.');
85
+ if (capability === 'forum' && !group.forum)
86
+ return error('unsupported_group', 'This command requires a forum.');
87
+ if (capability === 'creator' && group.current_user_role != null && group.current_user_role !== 'creator')
88
+ return error('permission_missing', 'This command requires the group creator.');
89
+ if (capability === 'admin' && group.current_user_role != null && group.current_user_role !== 'admin' && group.current_user_role !== 'creator')
90
+ return error('permission_missing', 'This command requires a group administrator.');
91
+ return undefined;
92
+ }
93
+ function error(code, message) { return { ok: false, error: { code, message } }; }
94
+ const requiredPermission = {
95
+ 'member add': 'invite_users', 'member kick': 'ban_users', 'member ban': 'ban_users', 'member unban': 'ban_users', 'member mute': 'ban_users', 'member unmute': 'ban_users',
96
+ 'admin promote': 'add_admins', 'admin demote': 'add_admins', 'admin rank': 'add_admins',
97
+ 'chat title': 'change_info', 'chat description': 'change_info', 'chat username': 'change_info', 'chat photo': 'change_info', 'chat slowmode': 'change_info', 'chat ttl': 'change_info', 'chat protect': 'change_info', 'chat join-requests': 'change_info', 'chat join-to-send': 'change_info', 'chat default-permissions': 'change_info', 'chat sticker-set': 'change_info',
98
+ 'invite list': 'invite_users', 'invite show': 'invite_users', 'invite create': 'invite_users', 'invite edit': 'invite_users', 'invite revoke': 'invite_users', 'invite members': 'invite_users', 'invite approve': 'invite_users', 'invite decline': 'invite_users', 'invite approve-all': 'invite_users', 'invite decline-all': 'invite_users',
99
+ 'topic list': 'manage_topics', 'topic create': 'manage_topics', 'topic edit': 'manage_topics', 'topic close': 'manage_topics', 'topic reopen': 'manage_topics', 'topic pin': 'manage_topics', 'topic unpin': 'manage_topics', 'topic reorder': 'manage_topics', 'topic delete': 'manage_topics', 'topic general-hidden': 'manage_topics',
100
+ 'message pin': 'pin_messages', 'message unpin': 'pin_messages', 'message unpin-all': 'pin_messages', 'message delete': 'delete_messages', 'member purge': 'delete_messages',
101
+ };
102
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/group-commands/executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAGrD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAmD,MAAM,oCAAoC,CAAA;AA0B3I,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAkC,EAAE,OAAoC;IAChH,MAAM,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAA;IACnF,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC,sBAAsB,EAAE,mCAAmC,CAAC,CAAA;IAChH,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,gBAAgB,EAAE,iCAAiC,CAAC,CAAA;IAC5K,IAAI,OAAO,CAAC,GAAG,KAAK,eAAe,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAChH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,CAAA;IAC9J,CAAC;IACD,MAAM,iBAAiB,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAChE,IAAI,iBAAiB;QAAE,OAAO,iBAAiB,CAAA;IAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAA;IACpC,MAAM,YAAY,GAAG,IAAI,KAAK,eAAe,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,OAAO,CAAC,iBAAiB,KAAK,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACvI,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5E,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC1D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAA;IACpQ,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,KAAK,sBAAsB,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACzE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,CAAA;IACtE,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,KAAK,sBAAsB;QACnD,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAkB,EAAE,CAAC;QACrH,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IACpE,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QACzE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAClG,IAAI,OAAO,CAAC,GAAG,KAAK,sBAAsB;YAAE,KAAK,YAAY,CAAA;;YACxD,MAAM,YAAY,CAAA;IACzB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAID,SAAS,qBAAqB,CAAC,OAAkC,IAAoC,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,CAAA,CAAC,CAAC;AAChJ,SAAS,mBAAmB,CAAC,OAA4B,EAAE,OAAoC;IAC7F,QAAQ,OAAO,CAAC,GAAG,EAAE,CAAC;QACpB,KAAK,aAAa,CAAC;QAAC,KAAK,YAAY,CAAC;QAAC,KAAK,cAAc,CAAC;QAAC,KAAK,eAAe,CAAC;QAAC,KAAK,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAA;QAC7L,KAAK,aAAa,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,EAAE,EAAE,CAAA;QACnK,KAAK,eAAe,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAA;QAClK,KAAK,cAAc,CAAC;QAAC,KAAK,sBAAsB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAA;QACxI,KAAK,YAAY,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAA;QACpI,KAAK,eAAe,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAA;QAC1G,KAAK,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAA;QAC7G,KAAK,gBAAgB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;QACvI,KAAK,aAAa,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAA;QAC7L,KAAK,YAAY,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAA;QACxH,KAAK,UAAU,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAA;QACnJ,KAAK,0BAA0B,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,CAAA;QAChK,KAAK,oBAAoB,CAAC;QAAC,KAAK,oBAAoB,CAAC;QAAC,KAAK,mBAAmB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAA;IACvL,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,OAAkC,EAAE,KAA4B;IACjF,OAAO,gCAAgC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,UAAkC,EAAE,KAA4B;IAC/G,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,eAAe,GAAG,uBAAuB,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;IAC7E,IAAI,eAAe;QAAE,OAAO,eAAe,CAAA;IAC3C,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAChE,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,IAAI,UAAU,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACzH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,sCAAsC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;IACnJ,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAA8E,EAAE,KAA4B;IAClJ,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,IAAI,UAAU,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC,mBAAmB,EAAE,gCAAgC,CAAC,CAAA;IACxJ,IAAI,UAAU,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC,mBAAmB,EAAE,qCAAqC,CAAC,CAAA;IACxI,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC,mBAAmB,EAAE,gCAAgC,CAAC,CAAA;IAC/G,IAAI,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,iBAAiB,IAAI,IAAI,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,oBAAoB,EAAE,0CAA0C,CAAC,CAAA;IACxL,IAAI,UAAU,KAAK,OAAO,IAAI,KAAK,CAAC,iBAAiB,IAAI,IAAI,IAAI,KAAK,CAAC,iBAAiB,KAAK,OAAO,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,oBAAoB,EAAE,8CAA8C,CAAC,CAAA;IACjO,OAAO,SAAS,CAAA;AAClB,CAAC;AACD,SAAS,KAAK,CAAC,IAAY,EAAE,OAAe,IAA0B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAA,CAAC,CAAC;AAEtH,MAAM,kBAAkB,GAAqF;IAC3G,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW;IAC1K,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY;IACvF,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,0BAA0B,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa;IAC5W,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,oBAAoB,EAAE,cAAc;IAC/U,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe;IACxU,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB;CAC5K,CAAA"}