imapflow 1.7.7 → 2.0.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 (296) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +8 -2
  3. package/dist/cjs/charsets.d.ts +1 -0
  4. package/dist/cjs/charsets.js +294 -0
  5. package/dist/cjs/commands/append.d.ts +22 -0
  6. package/dist/cjs/commands/append.js +151 -0
  7. package/dist/cjs/commands/authenticate.d.ts +24 -0
  8. package/dist/cjs/commands/authenticate.js +223 -0
  9. package/dist/cjs/commands/capability.d.ts +8 -0
  10. package/dist/cjs/commands/capability.js +32 -0
  11. package/dist/cjs/commands/close.d.ts +8 -0
  12. package/dist/cjs/commands/close.js +39 -0
  13. package/dist/cjs/commands/compress.d.ts +8 -0
  14. package/dist/cjs/commands/compress.js +56 -0
  15. package/dist/cjs/commands/copy.d.ts +13 -0
  16. package/dist/cjs/commands/copy.js +44 -0
  17. package/dist/cjs/commands/copyuid-parser.d.ts +11 -0
  18. package/dist/cjs/commands/copyuid-parser.js +32 -0
  19. package/dist/cjs/commands/create.d.ts +11 -0
  20. package/dist/cjs/commands/create.js +80 -0
  21. package/dist/cjs/commands/delete.d.ts +11 -0
  22. package/dist/cjs/commands/delete.js +40 -0
  23. package/dist/cjs/commands/enable.d.ts +9 -0
  24. package/dist/cjs/commands/enable.js +61 -0
  25. package/dist/cjs/commands/esearch-parser.d.ts +17 -0
  26. package/dist/cjs/commands/esearch-parser.js +91 -0
  27. package/dist/cjs/commands/expunge.d.ts +12 -0
  28. package/dist/cjs/commands/expunge.js +60 -0
  29. package/dist/cjs/commands/fetch.d.ts +30 -0
  30. package/dist/cjs/commands/fetch.js +241 -0
  31. package/dist/cjs/commands/id.d.ts +10 -0
  32. package/dist/cjs/commands/id.js +80 -0
  33. package/dist/cjs/commands/idle.d.ts +9 -0
  34. package/dist/cjs/commands/idle.js +347 -0
  35. package/dist/cjs/commands/list.d.ts +16 -0
  36. package/dist/cjs/commands/list.js +518 -0
  37. package/dist/cjs/commands/login.d.ts +11 -0
  38. package/dist/cjs/commands/login.js +42 -0
  39. package/dist/cjs/commands/logout.d.ts +8 -0
  40. package/dist/cjs/commands/logout.js +47 -0
  41. package/dist/cjs/commands/move.d.ts +13 -0
  42. package/dist/cjs/commands/move.js +57 -0
  43. package/dist/cjs/commands/namespace.d.ts +25 -0
  44. package/dist/cjs/commands/namespace.js +139 -0
  45. package/dist/cjs/commands/noop.d.ts +8 -0
  46. package/dist/cjs/commands/noop.js +22 -0
  47. package/dist/cjs/commands/quota.d.ts +10 -0
  48. package/dist/cjs/commands/quota.js +119 -0
  49. package/dist/cjs/commands/rename.d.ts +12 -0
  50. package/dist/cjs/commands/rename.js +48 -0
  51. package/dist/cjs/commands/search.d.ts +15 -0
  52. package/dist/cjs/commands/search.js +228 -0
  53. package/dist/cjs/commands/select.d.ts +25 -0
  54. package/dist/cjs/commands/select.js +250 -0
  55. package/dist/cjs/commands/starttls.d.ts +8 -0
  56. package/dist/cjs/commands/starttls.js +30 -0
  57. package/dist/cjs/commands/status-fields.d.ts +14 -0
  58. package/dist/cjs/commands/status-fields.js +61 -0
  59. package/dist/cjs/commands/status.d.ts +12 -0
  60. package/dist/cjs/commands/status.js +108 -0
  61. package/dist/cjs/commands/store.d.ts +19 -0
  62. package/dist/cjs/commands/store.js +93 -0
  63. package/dist/cjs/commands/subscribe.d.ts +9 -0
  64. package/dist/cjs/commands/subscribe.js +31 -0
  65. package/dist/cjs/commands/unsubscribe.d.ts +9 -0
  66. package/dist/cjs/commands/unsubscribe.js +31 -0
  67. package/dist/cjs/connection-deadline.d.ts +49 -0
  68. package/dist/cjs/connection-deadline.js +91 -0
  69. package/dist/cjs/errors.d.ts +83 -0
  70. package/dist/cjs/errors.js +13 -0
  71. package/dist/cjs/handler/imap-compiler.d.ts +24 -0
  72. package/dist/cjs/handler/imap-compiler.js +285 -0
  73. package/dist/cjs/handler/imap-formal-syntax.d.ts +28 -0
  74. package/dist/cjs/handler/imap-formal-syntax.js +121 -0
  75. package/dist/cjs/handler/imap-handler.d.ts +9 -0
  76. package/dist/cjs/handler/imap-handler.js +10 -0
  77. package/dist/cjs/handler/imap-parser.d.ts +16 -0
  78. package/dist/cjs/handler/imap-parser.js +90 -0
  79. package/dist/cjs/handler/imap-stream.d.ts +181 -0
  80. package/dist/cjs/handler/imap-stream.js +446 -0
  81. package/dist/cjs/handler/limits.d.ts +25 -0
  82. package/dist/cjs/handler/limits.js +51 -0
  83. package/dist/cjs/handler/parser-instance.d.ts +68 -0
  84. package/dist/cjs/handler/parser-instance.js +223 -0
  85. package/dist/cjs/handler/token-parser.d.ts +91 -0
  86. package/dist/cjs/handler/token-parser.js +673 -0
  87. package/dist/cjs/handler/types.d.ts +91 -0
  88. package/dist/cjs/handler/types.js +4 -0
  89. package/dist/cjs/imap-commands.d.ts +16 -0
  90. package/dist/cjs/imap-commands.js +74 -0
  91. package/dist/cjs/imap-flow.d.ts +676 -0
  92. package/dist/cjs/imap-flow.js +3949 -0
  93. package/dist/cjs/jp-decoder.d.ts +12 -0
  94. package/dist/cjs/jp-decoder.js +79 -0
  95. package/dist/cjs/limited-passthrough.d.ts +25 -0
  96. package/dist/cjs/limited-passthrough.js +54 -0
  97. package/dist/cjs/logger.d.ts +3 -0
  98. package/dist/cjs/logger.js +11 -0
  99. package/dist/cjs/package-info.d.ts +3 -0
  100. package/dist/cjs/package-info.js +7 -0
  101. package/dist/cjs/package.json +3 -0
  102. package/dist/cjs/proxy-connection.d.ts +33 -0
  103. package/dist/cjs/proxy-connection.js +392 -0
  104. package/dist/cjs/search-compiler.d.ts +34 -0
  105. package/dist/cjs/search-compiler.js +476 -0
  106. package/dist/cjs/special-use.d.ts +22 -0
  107. package/dist/cjs/special-use.js +911 -0
  108. package/dist/cjs/tools.d.ts +427 -0
  109. package/dist/cjs/tools.js +1496 -0
  110. package/{lib/imap-flow.d.ts → dist/cjs/types.d.ts} +386 -516
  111. package/dist/cjs/types.js +5 -0
  112. package/dist/esm/charsets.d.ts +1 -0
  113. package/{lib → dist/esm}/charsets.js +1 -6
  114. package/dist/esm/commands/append.d.ts +22 -0
  115. package/{lib → dist/esm}/commands/append.js +22 -52
  116. package/dist/esm/commands/authenticate.d.ts +24 -0
  117. package/{lib → dist/esm}/commands/authenticate.js +62 -87
  118. package/dist/esm/commands/capability.d.ts +8 -0
  119. package/{lib → dist/esm}/commands/capability.js +6 -9
  120. package/dist/esm/commands/close.d.ts +8 -0
  121. package/{lib → dist/esm}/commands/close.js +6 -10
  122. package/dist/esm/commands/compress.d.ts +8 -0
  123. package/{lib → dist/esm}/commands/compress.js +7 -11
  124. package/dist/esm/commands/copy.d.ts +13 -0
  125. package/{lib → dist/esm}/commands/copy.js +12 -20
  126. package/dist/esm/commands/copyuid-parser.d.ts +11 -0
  127. package/{lib → dist/esm}/commands/copyuid-parser.js +9 -15
  128. package/dist/esm/commands/create.d.ts +11 -0
  129. package/{lib → dist/esm}/commands/create.js +13 -27
  130. package/dist/esm/commands/delete.d.ts +11 -0
  131. package/{lib → dist/esm}/commands/delete.js +9 -14
  132. package/dist/esm/commands/enable.d.ts +9 -0
  133. package/{lib → dist/esm}/commands/enable.js +23 -30
  134. package/dist/esm/commands/esearch-parser.d.ts +17 -0
  135. package/dist/esm/commands/esearch-parser.js +88 -0
  136. package/dist/esm/commands/expunge.d.ts +12 -0
  137. package/{lib → dist/esm}/commands/expunge.js +17 -22
  138. package/dist/esm/commands/fetch.d.ts +30 -0
  139. package/{lib → dist/esm}/commands/fetch.js +32 -64
  140. package/dist/esm/commands/id.d.ts +10 -0
  141. package/{lib → dist/esm}/commands/id.js +17 -23
  142. package/dist/esm/commands/idle.d.ts +9 -0
  143. package/{lib → dist/esm}/commands/idle.js +47 -81
  144. package/dist/esm/commands/list.d.ts +16 -0
  145. package/{lib → dist/esm}/commands/list.js +56 -121
  146. package/dist/esm/commands/login.d.ts +11 -0
  147. package/{lib → dist/esm}/commands/login.js +10 -15
  148. package/dist/esm/commands/logout.d.ts +8 -0
  149. package/{lib → dist/esm}/commands/logout.js +9 -11
  150. package/dist/esm/commands/move.d.ts +13 -0
  151. package/{lib → dist/esm}/commands/move.js +13 -21
  152. package/dist/esm/commands/namespace.d.ts +25 -0
  153. package/{lib → dist/esm}/commands/namespace.js +34 -44
  154. package/dist/esm/commands/noop.d.ts +8 -0
  155. package/{lib → dist/esm}/commands/noop.js +6 -7
  156. package/dist/esm/commands/quota.d.ts +10 -0
  157. package/{lib → dist/esm}/commands/quota.js +18 -36
  158. package/dist/esm/commands/rename.d.ts +12 -0
  159. package/{lib → dist/esm}/commands/rename.js +10 -15
  160. package/dist/esm/commands/search.d.ts +15 -0
  161. package/{lib → dist/esm}/commands/search.js +36 -135
  162. package/dist/esm/commands/select.d.ts +25 -0
  163. package/{lib → dist/esm}/commands/select.js +33 -64
  164. package/dist/esm/commands/starttls.d.ts +8 -0
  165. package/{lib → dist/esm}/commands/starttls.js +6 -8
  166. package/dist/esm/commands/status-fields.d.ts +14 -0
  167. package/{lib → dist/esm}/commands/status-fields.js +5 -16
  168. package/dist/esm/commands/status.d.ts +12 -0
  169. package/{lib → dist/esm}/commands/status.js +18 -29
  170. package/dist/esm/commands/store.d.ts +19 -0
  171. package/{lib → dist/esm}/commands/store.js +24 -37
  172. package/dist/esm/commands/subscribe.d.ts +9 -0
  173. package/{lib → dist/esm}/commands/subscribe.js +8 -12
  174. package/dist/esm/commands/unsubscribe.d.ts +9 -0
  175. package/{lib → dist/esm}/commands/unsubscribe.js +8 -12
  176. package/dist/esm/connection-deadline.d.ts +49 -0
  177. package/{lib → dist/esm}/connection-deadline.js +14 -25
  178. package/dist/esm/errors.d.ts +83 -0
  179. package/dist/esm/errors.js +9 -0
  180. package/dist/esm/handler/imap-compiler.d.ts +24 -0
  181. package/{lib → dist/esm}/handler/imap-compiler.js +22 -80
  182. package/dist/esm/handler/imap-formal-syntax.d.ts +28 -0
  183. package/dist/esm/handler/imap-formal-syntax.js +117 -0
  184. package/dist/esm/handler/imap-handler.d.ts +9 -0
  185. package/dist/esm/handler/imap-handler.js +9 -0
  186. package/dist/esm/handler/imap-parser.d.ts +16 -0
  187. package/{lib → dist/esm}/handler/imap-parser.js +31 -44
  188. package/dist/esm/handler/imap-stream.d.ts +181 -0
  189. package/{lib → dist/esm}/handler/imap-stream.js +29 -121
  190. package/dist/esm/handler/limits.d.ts +25 -0
  191. package/{lib → dist/esm}/handler/limits.js +13 -22
  192. package/dist/esm/handler/parser-instance.d.ts +68 -0
  193. package/{lib → dist/esm}/handler/parser-instance.js +19 -47
  194. package/dist/esm/handler/token-parser.d.ts +91 -0
  195. package/{lib → dist/esm}/handler/token-parser.js +71 -155
  196. package/dist/esm/handler/types.d.ts +91 -0
  197. package/dist/esm/handler/types.js +3 -0
  198. package/dist/esm/imap-commands.d.ts +16 -0
  199. package/dist/esm/imap-commands.js +67 -0
  200. package/dist/esm/imap-flow.d.ts +676 -0
  201. package/{lib → dist/esm}/imap-flow.js +785 -1802
  202. package/dist/esm/jp-decoder.d.ts +12 -0
  203. package/{lib → dist/esm}/jp-decoder.js +6 -21
  204. package/dist/esm/limited-passthrough.d.ts +25 -0
  205. package/{lib → dist/esm}/limited-passthrough.js +7 -20
  206. package/dist/esm/logger.d.ts +3 -0
  207. package/dist/esm/logger.js +4 -0
  208. package/dist/esm/package-info.d.ts +3 -0
  209. package/dist/esm/package-info.js +4 -0
  210. package/dist/esm/package.json +3 -0
  211. package/dist/esm/proxy-connection.d.ts +33 -0
  212. package/{lib → dist/esm}/proxy-connection.js +56 -127
  213. package/dist/esm/search-compiler.d.ts +34 -0
  214. package/{lib → dist/esm}/search-compiler.js +54 -110
  215. package/dist/esm/special-use.d.ts +22 -0
  216. package/dist/esm/special-use.js +907 -0
  217. package/dist/esm/tools.d.ts +427 -0
  218. package/dist/esm/tools.js +1446 -0
  219. package/dist/esm/types.d.ts +828 -0
  220. package/dist/esm/types.js +4 -0
  221. package/package.json +60 -20
  222. package/.gitattributes +0 -1
  223. package/.github/CODE_OF_CONDUCT.md +0 -76
  224. package/.github/FUNDING.yml +0 -4
  225. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
  226. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -19
  227. package/.github/contributing.md +0 -17
  228. package/.github/workflows/release.yaml +0 -36
  229. package/.github/workflows/stale.yml +0 -29
  230. package/.github/workflows/test.yml +0 -51
  231. package/.ncurc.js +0 -4
  232. package/.prettierignore +0 -4
  233. package/.prettierrc.js +0 -8
  234. package/.release-please-manifest.json +0 -3
  235. package/CLAUDE.md +0 -104
  236. package/Gruntfile.js +0 -23
  237. package/eslint.config.js +0 -45
  238. package/lib/handler/imap-formal-syntax.js +0 -189
  239. package/lib/handler/imap-handler.js +0 -17
  240. package/lib/imap-commands.js +0 -45
  241. package/lib/logger.js +0 -5
  242. package/lib/special-use.js +0 -923
  243. package/lib/tools.js +0 -1612
  244. package/release-please-config.json +0 -10
  245. package/test/authentication-test.js +0 -101
  246. package/test/auto-idle-test.js +0 -470
  247. package/test/bodystructure-test.js +0 -899
  248. package/test/charsets-test.js +0 -161
  249. package/test/commands-branches-test.js +0 -1095
  250. package/test/commands-integration-test.js +0 -11124
  251. package/test/commands-test.js +0 -73
  252. package/test/connection-edge-cases-test.js +0 -1828
  253. package/test/connection-test.js +0 -162
  254. package/test/copyuid-parser-test.js +0 -173
  255. package/test/fetch-generator-test.js +0 -218
  256. package/test/fixtures/fake-timers.js +0 -115
  257. package/test/fixtures/serialized-mimetorture.js +0 -2738
  258. package/test/fixtures/test-client.js +0 -57
  259. package/test/fixtures/test-tls.js +0 -8
  260. package/test/handler-branches-test.js +0 -310
  261. package/test/idle-polling-test.js +0 -518
  262. package/test/imap-compiler-test.js +0 -809
  263. package/test/imap-flow-compress-test.js +0 -166
  264. package/test/imap-flow-coverage-test.js +0 -612
  265. package/test/imap-flow-fetch-download-test.js +0 -873
  266. package/test/imap-flow-internals-test.js +0 -725
  267. package/test/imap-flow-methods-test.js +0 -889
  268. package/test/imap-flow-proxy-paths-test.js +0 -366
  269. package/test/imap-flow-secure-test.js +0 -573
  270. package/test/imap-flow-server-test.js +0 -1474
  271. package/test/imap-formal-syntax-test.js +0 -293
  272. package/test/imap-parser-test.js +0 -1474
  273. package/test/imap-stream-edge-cases-test.js +0 -666
  274. package/test/imap-stream-test.js +0 -177
  275. package/test/imapflow-test.js +0 -258
  276. package/test/integration/README.md +0 -52
  277. package/test/integration/dovecot-test.conf +0 -27
  278. package/test/integration/rev2-live-test.js +0 -431
  279. package/test/integration/run-rev2-tests.sh +0 -75
  280. package/test/integration-test.js +0 -83
  281. package/test/jp-decoder-test.js +0 -304
  282. package/test/limited-passthrough-test.js +0 -299
  283. package/test/memory-cleanup-test.js +0 -144
  284. package/test/memory-leak-test.js +0 -667
  285. package/test/parser-limits-test.js +0 -292
  286. package/test/proxy-connection-test.js +0 -738
  287. package/test/reliability-improvements-test.js +0 -548
  288. package/test/search-compiler-test.js +0 -1300
  289. package/test/search-test.js +0 -329
  290. package/test/special-use-test.js +0 -418
  291. package/test/starttls-injection-test.js +0 -181
  292. package/test/tag-correlation-test.js +0 -333
  293. package/test/timer-policy-test.js +0 -227
  294. package/test/token-parser-test.js +0 -456
  295. package/test/tools-test.js +0 -2013
  296. package/test/unhandled-rejection-test.js +0 -593
@@ -0,0 +1,91 @@
1
+ /**
2
+ * A parsed IMAP token. `type` is one of ATOM, STRING, LITERAL, SEQUENCE, TEXT or
3
+ * NUMBER. A section (`BODY[...]`) and a partial range (`<0.1024>`) are attached to the
4
+ * token they follow.
5
+ */
6
+ export interface ImapAttributeNode {
7
+ type: string;
8
+ value?: string | Buffer | number | null | undefined;
9
+ section?: ImapAttributeList | undefined;
10
+ partial?: number[] | undefined;
11
+ /** Redacted from logs and from the raw traffic log when set on an outgoing token */
12
+ sensitive?: boolean | undefined;
13
+ /** Emit the literal as a literal8 (RFC 3516) */
14
+ isLiteral8?: boolean | undefined;
15
+ }
16
+ /**
17
+ * A parenthesized list of tokens. The token properties are declared as absent so that
18
+ * `entry.value` can be read across the `ImapAttribute` union without narrowing first.
19
+ */
20
+ export interface ImapAttributeList extends Array<ImapAttribute> {
21
+ type?: undefined;
22
+ value?: undefined;
23
+ section?: undefined;
24
+ partial?: undefined;
25
+ }
26
+ /**
27
+ * One attribute of a parsed response: a token, a nested list, or `null` for NIL
28
+ */
29
+ export type ImapAttribute = ImapAttributeNode | ImapAttributeList | null;
30
+ /**
31
+ * A parsed IMAP response line, or a command being compiled for the wire
32
+ */
33
+ export interface ImapResponse {
34
+ /** The IMAP tag: "*" for untagged responses, "+" for continuation requests, or a command tag */
35
+ tag?: string | undefined;
36
+ /** The response or command name, e.g. "OK", "FETCH", or a message sequence number */
37
+ command?: string | undefined;
38
+ /** Parsed attributes of the response */
39
+ attributes?: ImapAttributeList | undefined;
40
+ /** Number of leading NUL bytes stripped from the line, if any */
41
+ nullBytesRemoved?: number | undefined;
42
+ }
43
+ /**
44
+ * What the command compiler accepts as a node: parsed tokens and lists, and also bare
45
+ * strings, numbers and Buffers, which are written as quoted strings and numbers
46
+ */
47
+ export type ImapCompileNode = ImapAttributeNode | string | number | Buffer | null | undefined | false | ImapCompileNode[];
48
+ export interface ImapCompileInput {
49
+ tag?: string | undefined;
50
+ command?: string | undefined;
51
+ attributes?: ImapCompileNode | ImapCompileNode[] | undefined;
52
+ }
53
+ export interface CompilerOptions {
54
+ /** Return an array of Buffers, one per literal segment, instead of a single Buffer */
55
+ asArray?: boolean | undefined;
56
+ /** Redact sensitive values and truncate long strings for logging */
57
+ isLogging?: boolean | undefined;
58
+ /** Use the LITERAL+ extension (non-synchronizing literals of any size) */
59
+ literalPlus?: boolean | undefined;
60
+ /** Use the LITERAL- extension (non-synchronizing literals up to 4096 bytes) */
61
+ literalMinus?: boolean | undefined;
62
+ }
63
+ export interface ParserOptions {
64
+ /** Whether the LITERAL+ extension is in use */
65
+ literalPlus?: boolean | undefined;
66
+ /** Pre-parsed literal values extracted from the input stream */
67
+ literals?: Buffer[] | undefined;
68
+ /** Maximum size in bytes of a literal parsed inline from the input */
69
+ maxLiteralSize?: number | undefined;
70
+ }
71
+ /**
72
+ * One assembled response as pushed by ImapStream: the line payload, its literals and the
73
+ * backpressure callback that must be called once the response has been processed
74
+ */
75
+ export interface ImapStreamItem {
76
+ payload: Buffer;
77
+ literals: Buffer[];
78
+ next: () => void;
79
+ /** Whether more buffered input already followed this response on the wire */
80
+ trailingAfterLine: boolean;
81
+ /** Set once `next` has been called, see ImapFlow#releaseStreamData */
82
+ released?: boolean | undefined;
83
+ }
84
+ /**
85
+ * The SELECT or EXAMINE command that opened the current mailbox, kept so fallback polling
86
+ * can re-select the mailbox with the same access mode
87
+ */
88
+ export interface SelectCommand {
89
+ command: string;
90
+ arguments: ImapCompileNode[];
91
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // Protocol level data shapes shared by the parser, the compiler, the command
3
+ // implementations and the connection class.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,16 @@
1
+ import type { ImapFlow } from './imap-flow.js';
2
+ /**
3
+ * A command implementation: receives the connection and the arguments passed to
4
+ * `ImapFlow#run()` for that command
5
+ */
6
+ export type CommandHandler = (connection: ImapFlow, ...args: any[]) => Promise<any>;
7
+ /**
8
+ * IMAP command registry. Maps IMAP command names (uppercase strings) to their
9
+ * corresponding implementation modules from the `commands/` directory.
10
+ *
11
+ * Each entry maps a command name (e.g., "FETCH", "SELECT", "IDLE") to a function
12
+ * that builds the command request and processes the server response. This Map is
13
+ * used by the main ImapFlow client to look up and execute IMAP commands.
14
+ */
15
+ declare const imapCommands: Map<string, CommandHandler>;
16
+ export default imapCommands;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const id_js_1 = __importDefault(require("./commands/id.js"));
7
+ const capability_js_1 = __importDefault(require("./commands/capability.js"));
8
+ const namespace_js_1 = __importDefault(require("./commands/namespace.js"));
9
+ const login_js_1 = __importDefault(require("./commands/login.js"));
10
+ const logout_js_1 = __importDefault(require("./commands/logout.js"));
11
+ const starttls_js_1 = __importDefault(require("./commands/starttls.js"));
12
+ const list_js_1 = __importDefault(require("./commands/list.js"));
13
+ const enable_js_1 = __importDefault(require("./commands/enable.js"));
14
+ const select_js_1 = __importDefault(require("./commands/select.js"));
15
+ const fetch_js_1 = __importDefault(require("./commands/fetch.js"));
16
+ const create_js_1 = __importDefault(require("./commands/create.js"));
17
+ const delete_js_1 = __importDefault(require("./commands/delete.js"));
18
+ const rename_js_1 = __importDefault(require("./commands/rename.js"));
19
+ const close_js_1 = __importDefault(require("./commands/close.js"));
20
+ const subscribe_js_1 = __importDefault(require("./commands/subscribe.js"));
21
+ const unsubscribe_js_1 = __importDefault(require("./commands/unsubscribe.js"));
22
+ const store_js_1 = __importDefault(require("./commands/store.js"));
23
+ const search_js_1 = __importDefault(require("./commands/search.js"));
24
+ const noop_js_1 = __importDefault(require("./commands/noop.js"));
25
+ const expunge_js_1 = __importDefault(require("./commands/expunge.js"));
26
+ const append_js_1 = __importDefault(require("./commands/append.js"));
27
+ const status_js_1 = __importDefault(require("./commands/status.js"));
28
+ const copy_js_1 = __importDefault(require("./commands/copy.js"));
29
+ const move_js_1 = __importDefault(require("./commands/move.js"));
30
+ const compress_js_1 = __importDefault(require("./commands/compress.js"));
31
+ const quota_js_1 = __importDefault(require("./commands/quota.js"));
32
+ const idle_js_1 = __importDefault(require("./commands/idle.js"));
33
+ const authenticate_js_1 = __importDefault(require("./commands/authenticate.js"));
34
+ /**
35
+ * IMAP command registry. Maps IMAP command names (uppercase strings) to their
36
+ * corresponding implementation modules from the `commands/` directory.
37
+ *
38
+ * Each entry maps a command name (e.g., "FETCH", "SELECT", "IDLE") to a function
39
+ * that builds the command request and processes the server response. This Map is
40
+ * used by the main ImapFlow client to look up and execute IMAP commands.
41
+ */
42
+ const imapCommands = new Map([
43
+ ['ID', id_js_1.default],
44
+ ['CAPABILITY', capability_js_1.default],
45
+ ['NAMESPACE', namespace_js_1.default],
46
+ ['LOGIN', login_js_1.default],
47
+ ['LOGOUT', logout_js_1.default],
48
+ ['STARTTLS', starttls_js_1.default],
49
+ ['LIST', list_js_1.default],
50
+ ['ENABLE', enable_js_1.default],
51
+ ['SELECT', select_js_1.default],
52
+ ['FETCH', fetch_js_1.default],
53
+ ['CREATE', create_js_1.default],
54
+ ['DELETE', delete_js_1.default],
55
+ ['RENAME', rename_js_1.default],
56
+ ['CLOSE', close_js_1.default],
57
+ ['SUBSCRIBE', subscribe_js_1.default],
58
+ ['UNSUBSCRIBE', unsubscribe_js_1.default],
59
+ ['STORE', store_js_1.default],
60
+ ['SEARCH', search_js_1.default],
61
+ ['NOOP', noop_js_1.default],
62
+ ['EXPUNGE', expunge_js_1.default],
63
+ ['APPEND', append_js_1.default],
64
+ ['STATUS', status_js_1.default],
65
+ ['COPY', copy_js_1.default],
66
+ ['MOVE', move_js_1.default],
67
+ ['COMPRESS', compress_js_1.default],
68
+ ['QUOTA', quota_js_1.default],
69
+ ['IDLE', idle_js_1.default],
70
+ ['AUTHENTICATE', authenticate_js_1.default]
71
+ ]);
72
+ exports.default = imapCommands;
73
+ module.exports = exports.default;
74
+ Object.defineProperty(module.exports, 'default', { value: exports.default, enumerable: false, writable: true, configurable: true });