monoclaude 1.0.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 (107) hide show
  1. package/LICENSE +13 -0
  2. package/_init/attachments.html +13 -0
  3. package/_init/attachments.ics +19 -0
  4. package/_init/attachments_msgs/info.md +3 -0
  5. package/_init/attachments_msgs/message-svg.html +13 -0
  6. package/_init/attachments_msgs/messages-doc.html +26 -0
  7. package/_init/attachments_msgs/messages-epub.html +53 -0
  8. package/_init/attachments_msgs/messages-ics.html +43 -0
  9. package/_init/attachments_msgs/messages-img.html +27 -0
  10. package/_init/attachments_msgs/messages-mov.html +71 -0
  11. package/_init/attachments_msgs/messages-pdf.html +26 -0
  12. package/_init/attachments_msgs/messages-pptx.html +22 -0
  13. package/_init/attachments_msgs/messages-rtf.html +21 -0
  14. package/_init/attachments_msgs/messages-wav.html +16 -0
  15. package/_init/attachments_msgs/messages-xlsx.html +30 -0
  16. package/_init/bulk-from-mail.txt +6 -0
  17. package/_init/emails.txt +7 -0
  18. package/_init/froms.txt +2 -0
  19. package/_init/functions.txt +307 -0
  20. package/_init/generated/info.md +3 -0
  21. package/_init/help.txt +28 -0
  22. package/_init/icon-emojis.txt +48 -0
  23. package/_init/links.txt +3 -0
  24. package/_init/messages.html +1 -0
  25. package/_init/monotomic.help.txt +484 -0
  26. package/_init/monotomic.json +721 -0
  27. package/_init/monotomic.key +1 -0
  28. package/_init/props/eml/attachments.ics +2 -0
  29. package/_init/props/eml/attachments.mov +2 -0
  30. package/_init/props/eml/attachments.wav +2 -0
  31. package/_init/props/eml/attachments_msgs/e_message-svg.html +10 -0
  32. package/_init/props/eml/attachments_msgs/e_messages-doc.html +14 -0
  33. package/_init/props/eml/attachments_msgs/e_messages-epub.html +14 -0
  34. package/_init/props/eml/attachments_msgs/e_messages-ics.html +34 -0
  35. package/_init/props/eml/attachments_msgs/e_messages-mov.html +70 -0
  36. package/_init/props/eml/attachments_msgs/e_messages-pdf.html +16 -0
  37. package/_init/props/eml/attachments_msgs/e_messages-pptx.html +19 -0
  38. package/_init/props/eml/attachments_msgs/e_messages-rtf.html +14 -0
  39. package/_init/props/eml/attachments_msgs/e_messages-wav.html +13 -0
  40. package/_init/props/eml/attachments_msgs/e_messages-xlsx.html +25 -0
  41. package/_init/props/eml/e_attachments.html +13 -0
  42. package/_init/props/eml/e_attachments.ics +19 -0
  43. package/_init/props/eml/e_messages.html +13 -0
  44. package/_init/props/info.md +3 -0
  45. package/_init/props/redirect/domain.txt +7 -0
  46. package/_init/props/redirect/readme.txt +25 -0
  47. package/_init/props/sorter/sorter-options.txt +265 -0
  48. package/_init/proxy_engine.txt +19 -0
  49. package/_init/readme.txt +4 -0
  50. package/_init/requirements.txt +37 -0
  51. package/_init/senders.txt +6 -0
  52. package/_init/smtps.txt +19 -0
  53. package/_init/socks.txt +13 -0
  54. package/_init/subjects.txt +2 -0
  55. package/commands/auth.js +1 -0
  56. package/commands/cleaner.js +1 -0
  57. package/commands/extract.js +1 -0
  58. package/commands/features.js +1 -0
  59. package/commands/functions.js +1 -0
  60. package/commands/index.js +1 -0
  61. package/commands/init.js +1 -0
  62. package/commands/mx.js +1 -0
  63. package/commands/redirect.js +1 -0
  64. package/commands/renew.js +1 -0
  65. package/commands/send.js +1 -0
  66. package/commands/sort.js +1 -0
  67. package/commands/update.js +1 -0
  68. package/commands/user.js +1 -0
  69. package/commands/verify.js +1 -0
  70. package/denv.js +1 -0
  71. package/functions/auths.js +1 -0
  72. package/functions/cleaner/index.js +1 -0
  73. package/functions/extractor/index.js +1 -0
  74. package/functions/globalThirdParty/cHtmlRtf.js +1 -0
  75. package/functions/globalThirdParty/cHtmlRtfWImage.js +1 -0
  76. package/functions/globalThirdParty/cHtmlXls.js +1 -0
  77. package/functions/globalThirdParty/clientsidejs/processingHtml.js +1 -0
  78. package/functions/globalThirdParty/encryptHtml.js +1 -0
  79. package/functions/globals.js +1 -0
  80. package/functions/ip-rotate/index.js +1 -0
  81. package/functions/mx/index.js +1 -0
  82. package/functions/redirect/index.js +1 -0
  83. package/functions/renew.js +1 -0
  84. package/functions/sender/index.js +1 -0
  85. package/functions/sender/mailers/mailer-ews.js +1 -0
  86. package/functions/sender/mailers/mailer-free.js +1 -0
  87. package/functions/sender/mailers/mailer-local.js +1 -0
  88. package/functions/sender/mailers/mailer-mx.js +1 -0
  89. package/functions/sender/mailers/mailer-proxy.js +1 -0
  90. package/functions/sender/mailers/mailer-zimbra.js +1 -0
  91. package/functions/sender/mailers/verify-zimbra.js +2 -0
  92. package/functions/sorter/index.js +1 -0
  93. package/functions/tmp_qr_attach_test.js +1 -0
  94. package/functions/user.js +1 -0
  95. package/functions/verifier/index.js +1 -0
  96. package/helpers.js +1 -0
  97. package/howto.txt +15 -0
  98. package/models/user.js +1 -0
  99. package/package.json +63 -0
  100. package/ultra.js +2 -0
  101. package/utils/checker.js +1 -0
  102. package/utils/colors.js +1 -0
  103. package/utils/features.js +1 -0
  104. package/utils/jwtVerify.js +1 -0
  105. package/utils/placeholders.js +1 -0
  106. package/utils/types.js +1 -0
  107. package/utils/validation.js +1 -0
@@ -0,0 +1,484 @@
1
+ =======================================================================
2
+ monotomic.json — Field-by-Field Guide
3
+ =======================================================================
4
+
5
+ Each section below mirrors the structure of monotomic.json. Open both
6
+ files side by side and use this guide to understand what every field
7
+ does, what values it accepts, and how to enable each feature.
8
+
9
+
10
+ -----------------------------------------------------------------------
11
+ SMTP — outgoing mail server credentials
12
+ -----------------------------------------------------------------------
13
+ smtp[] Array of SMTP servers. Add multiple
14
+ entries to enable bulk SMTP rotation
15
+ (see configurations.agent.bulk_smtp).
16
+
17
+ smtp[].host SMTP hostname. e.g. smtp.gmail.com
18
+ smtp[].port SMTP port. e.g. 25, 587, 2525, 465
19
+ smtp[].secure true for 465 (SSL), false for STARTTLS
20
+ (25 / 587 / 2525)
21
+ smtp[].user SMTP username. e.g. your-email@gmail.com
22
+ smtp[].pass SMTP password
23
+ Never commit live SMTP credentials. The
24
+ default monotomic.json uses placeholders and
25
+ the sender refuses placeholder SMTP credentials
26
+ when SMTP sending is enabled.
27
+
28
+
29
+ -----------------------------------------------------------------------
30
+ EXTERNAL FILE PATHS — text files loaded at runtime
31
+ -----------------------------------------------------------------------
32
+ smtps_list.path Bulk SMTP rotation list (one per line).
33
+ Formats:
34
+ host
35
+ host|port
36
+ host|port|user
37
+ host|port|user|password
38
+ host:port
39
+ host:port:user:password
40
+ smtp://user:password@host:587
41
+ smtps://user:password@host:465
42
+ host|port|user|password|from@domain.com
43
+ host|port|user|password|from1@domain.com,from2@domain.com
44
+ Legacy: host|port|user|password=from1@domain.com,from2@domain.com
45
+ IP addresses and printer/no-auth SMTP relays
46
+ are supported. Missing port defaults to 25
47
+ when no user is provided, or 587 when a user
48
+ is provided. Port 465 defaults to secure TLS.
49
+ socks_list.path SOCKS5 proxies for rotate_ip
50
+ proxy_engine_list.path Bulk SOCKS proxy list path for
51
+ proxy_socks_direct_engine. Points to
52
+ proxy_engine.txt.
53
+ Format: host:port or
54
+ host:port:user:pass
55
+ links_list.path Multiple-links pool — one URL per line
56
+ froms_list.path Multiple from_names pool
57
+ emails_list.path Recipients list — one email per line
58
+ senders_list.path Multiple sender addresses pool
59
+ subjects_list.path Multiple subjects pool — one per line
60
+ messages_body.path HTML body of the outgoing email
61
+ messages_to_image_body.path HTML that gets rendered to an inline
62
+ image (used by message_to_image)
63
+
64
+
65
+ -----------------------------------------------------------------------
66
+ OUTER ATTACHMENTS — files attached to the outgoing mail
67
+ -----------------------------------------------------------------------
68
+ attachments[].filename The name the recipient sees
69
+ attachments[].path Local file or HTML template path
70
+ attachments[].active true = attach, false = skip
71
+ .zip files are supported as static binary
72
+ attachments and are delivered as
73
+ application/zip.
74
+ attachments[].display_file_extension
75
+ true = keep .ext visible to recipient
76
+ false = hide the .ext (MIME still tells
77
+ the mail client what it is)
78
+ attachments[].html_to_svg_config
79
+ Optional for .svg attachments. HTML in the
80
+ source file is sanitized and wrapped into a
81
+ static SVG using width/height/padding/
82
+ background/title/url_link_enabled/url_link/
83
+ url_link_text. The configured URL renders only
84
+ when url_link_enabled is true.
85
+ Script/event handlers and script-style URLs
86
+ are stripped before delivery.
87
+ attachments[].html_to_wav_config
88
+ Optional for .wav attachments whose path is
89
+ an HTML source file. Readable text is extracted
90
+ and converted into audio/wav using voice/rate/
91
+ volume/url_link_enabled/url_link/url_link_text
92
+ when the platform speech backend is available,
93
+ with a safe fallback WAV generator.
94
+ attachments[].html_to_mov_config
95
+ Optional for .mov attachments whose path is
96
+ an HTML source file. The HTML is rendered to
97
+ frames with Puppeteer and encoded to QuickTime
98
+ MOV with ffmpeg. Supports width/height/fps/
99
+ duration_seconds/max_frames/quality/
100
+ ffmpeg_path/codec/pixel_format/background/
101
+ url_link_enabled/url_link/url_link_text.
102
+ configurations.agent.html_conversion_url_link_enabled
103
+ Shared URL-link switch for all message_to_*
104
+ HTML conversions. When true, appends
105
+ html_conversion_url_link using
106
+ html_conversion_url_link_text before PDF/DOC/
107
+ RTF/EPUB/XLSX/PPTX/ICS/WAV/MOV conversion.
108
+ configurations.agent.embedded_file
109
+ true = attach inline image(s). Use
110
+ embedded_file_path for one image or
111
+ embedded_file_paths for many images. The
112
+ placeholders [[-EMBEDDED_URL-]],
113
+ [[-EMBEDDED_URL(2)-]], etc. resolve to unique
114
+ cid: URLs so multiple images do not collide.
115
+
116
+ Encryption / obfuscation / scripter (only apply to text-based
117
+ attachments — not to binaries like PDF/DOCX/XLSX/EPUB/PPTX/ICS/WAV/MOV,
118
+ and not to SVG, which is kept static after sanitization):
119
+
120
+ attachments[].obfuscate true/false — wrap visible links to
121
+ disguise the destination
122
+ attachments[].obfuscate_preset preset1 | preset2 | preset3 | preset4
123
+ preset5 | preset6 | preset7 | preset8
124
+ preset9 | preset10
125
+ attachments[].encrypted true/false — apply content encryption
126
+ attachments[].encrypted_preset preset1 | preset2 | preset3 | preset4
127
+ preset5 | preset6 | preset7 | preset8
128
+ preset9 | preset10
129
+ attachments[].scripter true/false — inject JS obfuscation
130
+ attachments[].scripter_preset preset1 | preset2 | preset3 | preset4
131
+ preset5 | preset6 | preset7 | preset8
132
+ preset9 | preset10
133
+
134
+ Special "message_to_*" entries (HTML → real binary on the fly). Turn a
135
+ conversion on by setting that attachment entry's active=true. Each entry now
136
+ keeps its own conversion settings beside the filename/path:
137
+
138
+ Message-to-PDF-1.pdf ← pdf_config
139
+ Message-to-DOC-1.docx ← doc_config
140
+ Message-to-RTF-1.rtf ← rtf_config
141
+ Message-to-EPUB-1.epub ← epub_config
142
+ Message-to-XLSX-1.xlsx ← xlsx_config
143
+ Message-to-PPTX-1.pptx ← pptx_config
144
+ invite.ics ← message_to_ics_config
145
+ Message-to-WAV-1.wav ← message_to_wav_config
146
+ Message-to-MOV-1.mov ← message_to_mov_config
147
+
148
+
149
+ -----------------------------------------------------------------------
150
+ configurations.system — low-level runtime flags
151
+ -----------------------------------------------------------------------
152
+ turbo_mode true = fire emails concurrently per
153
+ chunk (faster, less ordered)
154
+ proxy_socks_direct_engine Use SOCKS-only direct-MX transport. Requires
155
+ proxy_engine.proxy_host/proxy_port when
156
+ multiple_proxy_engine=false. Uses
157
+ proxy_engine.txt when multiple_proxy_engine=true.
158
+ Ignores smtp[] credentials, validates proxies,
159
+ and supports all prepared attachments.
160
+ use_zimbra_smtp Use the legitimate Zimbra SOAP fallback when
161
+ normal SMTP submission fails for a Zimbra host.
162
+ Supports host or full SOAP URL values and
163
+ tries safe endpoint candidates such as
164
+ mail./webmail./zimbra.<domain>. Explicit
165
+ endpoints can be supplied with ZIMBRA_SOAP_HOSTS
166
+ (comma/semicolon separated). Tuning env vars:
167
+ ZIMBRA_AUTH_TIMEOUT_MS
168
+ ZIMBRA_SEND_TIMEOUT_MS
169
+ ZIMBRA_RETRY_MAX_ATTEMPTS
170
+ ZIMBRA_RETRY_BACKOFF_MS
171
+ ZIMBRA_MAX_MIME_BYTES
172
+ ZIMBRA_SOAP_CANDIDATE_LIMIT
173
+ use_exchange_smtp Use Microsoft EWS adapter
174
+ use_free_sending Use the free/direct MX transport
175
+ message_encryption false by default. When true, encrypts the
176
+ fully-rendered messages.html body after all
177
+ placeholders are interpreted, using a
178
+ self-contained HTML decoder so the original
179
+ body renders back correctly.
180
+ retry_again Retry failed sends:
181
+ false = off
182
+ true = 1 retry
183
+ N (e.g. 3) = N retries
184
+ live_view Render a live progress UI in terminal
185
+ live_view_theme Theme number 1–12
186
+ delay_sending true = throttle between recipients
187
+ delay_sending_seconds Seconds of pause when delay_sending=true
188
+
189
+
190
+ -----------------------------------------------------------------------
191
+ configurations.message — per-mail envelope and headers
192
+ -----------------------------------------------------------------------
193
+ from_name Display name on the "From:" header
194
+ from_email Sender address (must match SMTP unless
195
+ spoofing)
196
+ bulk-from_mail true = enable the bulk From mail feature.
197
+ Uses bulk-from-mail.txt and rotates values
198
+ across SMTPs when bulk_smtp=true.
199
+ mail_subject Subject line (supports placeholders
200
+ like [[-RECIPIENT-]])
201
+ reply_to Optional "Reply-To:" header
202
+ mail_priority low | normal | high
203
+ cc Optional CC addresses (comma-separated)
204
+ use_bcc true = use BCC instead of To: for the
205
+ recipient
206
+ use_attachment Master switch for all attachments
207
+ use_hide_from_email Hide the from_email from recipient
208
+
209
+
210
+ -----------------------------------------------------------------------
211
+ configurations.agent — campaign-level feature switches
212
+ -----------------------------------------------------------------------
213
+ is_multi_thread Run multiple sender threads in parallel
214
+ how_many_thread Thread count when is_multi_thread=true
215
+ obfuscator Replace your real link with a disguise
216
+ obfuscator_link The disguised destination URL
217
+ qr_code Attach a generated QR code image
218
+ qr_code_link URL encoded inside the QR
219
+ qr_code_colors "foreground,background" in hex.
220
+ e.g. "#000000,#FFFFFF"
221
+ bulk_smtp Rotate through every smtp[] entry for every
222
+ recipient attempt. In bulk mode the SMTP list
223
+ is treated as a loop and keeps cycling until
224
+ the recipient list finishes or you cancel the
225
+ run. Failed recipients are requeued onto the
226
+ next SMTP indefinitely by default; set
227
+ MAX_BULK_SMTP_REQUEUE to a number only if you
228
+ want an explicit retry cap.
229
+ multiple_senders Rotate through senders.txt
230
+ multiple_subjects Rotate through subjects.txt
231
+ multiple_links Rotate through links.txt
232
+ multiple_proxy_engine true = load many proxies from proxy_engine.txt
233
+ and rotate them across sends. false = use the
234
+ single top-level proxy_engine config.
235
+ multiple_from_names Rotate through froms.txt
236
+ message_to_image Render messages-img.html as an image
237
+ and embed it inline
238
+ message_to_image_link URL the rendered image links to
239
+ embedded_file Inline-embed a file in the HTML body
240
+ embedded_file_path Path to the file to embed inline
241
+ embedded_file_paths Array of inline image paths. Use
242
+ [[-EMBEDDED_URL-]] for the first image and
243
+ [[-EMBEDDED_URL(2)-]] for the second.
244
+ zip_attachment true = attach ZIP files from zip_file_path or
245
+ zip_file_paths. false = skip ZIP attachments.
246
+ zip_file_path Single .zip attachment path.
247
+ zip_file_paths Array of .zip attachment paths. Each path may
248
+ use placeholders and is attached once.
249
+ HTML conversion attachments All active HTML conversion attachment
250
+ templates can be enabled together. The sender
251
+ materializes PDF/DOC/RTF/EPUB/XLSX/PPTX/ICS/
252
+ WAV/MOV in one shared pass, then appends other
253
+ enabled attachment types such as image, QR,
254
+ embedded file, and EML.
255
+ rotate_ip Route delivery through active SOCKS proxies
256
+ from socks.txt. Supports host:port and
257
+ host:port:user:pass, validates proxies before
258
+ sending, then rotates evenly through all good
259
+ entries.
260
+ proxy_engine Single-proxy config fields:
261
+ proxy_host, proxy_port, protocol,
262
+ session_rotation, proxy_username,
263
+ proxy_password, smtp_mode, smtp_host,
264
+ smtp_port, smtp_secure, smtp_username,
265
+ smtp_password, batch_route.
266
+ batch_route:
267
+ recipient_mx = default. Resolve each
268
+ recipient MX and dial it
269
+ through the SOCKS proxy.
270
+ configured_smtp = use smtp_host/smtp_port/
271
+ smtp_secure and optional
272
+ smtp_username/password
273
+ through the SOCKS proxy.
274
+ smtp_mode accepts proxy_engine/recipient_mx
275
+ for default mode, or smtp/smtp_relay/
276
+ configured_smtp for configured SMTP relay.
277
+ session_rotation:
278
+ per_message = rotate for each send
279
+ sticky_success = keep a working proxy
280
+ until a send fails, then
281
+ rotate to another one.
282
+ Startup validation checks SOCKS reachability
283
+ against configured SMTP when configured_smtp
284
+ mode is selected. In recipient_mx mode it
285
+ samples recipient MX hosts and keeps only
286
+ proxies that can open an SMTP route. Valid
287
+ proxies are ordered by measured route latency
288
+ and startup logs include pass/fail counts plus
289
+ fastest/slowest latency.
290
+ Runtime failover retries another validated
291
+ proxy for the same recipient before giving up.
292
+ Repeatedly failing proxies are removed from the
293
+ active runtime pool after the failure threshold.
294
+ Tuning:
295
+ PROXY_ENGINE_MX_PROBE_SAMPLE
296
+ PROXY_ENGINE_MAX_PROXY_ATTEMPTS
297
+ PROXY_ENGINE_PROXY_FAIL_THRESHOLD
298
+ proxy_engine.txt Dedicated bulk proxy list for the SOCKS direct
299
+ engine. Used only when multiple_proxy_engine=true.
300
+ Use one proxy per line:
301
+ host:port
302
+ host:port:user:pass
303
+ host:port:socks4
304
+ host:port:socks5:user:pass
305
+ host|port|user|pass
306
+ socks5://user:pass@host:port
307
+ socks4://host:port
308
+ When multiple_proxy_engine=true, these proxies
309
+ are validated and rotated per send.
310
+
311
+ -- HTML → PDF conversion --
312
+ attachments[].pdf_config PDF generation settings stored directly on
313
+ the Message-to-PDF attachment entry.
314
+ pdf_orientation portrait | landscape
315
+
316
+ -- HTML → DOCX conversion --
317
+ attachments[].doc_config Word generation settings stored directly on
318
+ the Message-to-DOC attachment entry.
319
+ message_to_doc_ahref Anchor text shown in the document
320
+ message_to_doc_ahref_styles Inline style for the anchor
321
+ e.g. "font_face: 'Arial', font_size: 15,
322
+ bold: true, underline: true"
323
+ message_to_doc_link Destination URL the anchor points to
324
+
325
+ -- HTML → RTF conversion --
326
+ attachments[].rtf_config RTF generation settings stored directly on
327
+ the Message-to-RTF attachment entry.
328
+
329
+ -- HTML → EPUB conversion --
330
+ attachments[].epub_config EPUB generation settings stored directly on
331
+ the Message-to-EPUB attachment entry.
332
+ message_to_epub_title EPUB metadata: title
333
+ message_to_epub_author EPUB metadata: author
334
+ message_to_epub_publisher EPUB metadata: publisher
335
+ message_to_epub_content_title Title of the first chapter
336
+
337
+ -- HTML → XLSX conversion --
338
+ attachments[].xlsx_config Excel generation settings stored directly on
339
+ the Message-to-XLSX attachment entry.
340
+
341
+ -- HTML → PPTX conversion --
342
+ attachments[].pptx_config PowerPoint generation settings stored
343
+ directly on the Message-to-PPTX attachment.
344
+ message_to_pptx_title PPTX metadata: title
345
+ message_to_pptx_author PPTX metadata: author
346
+
347
+ -- HTML → ICS (calendar invite) conversion --
348
+ attachments[].message_to_ics_config
349
+ Full RFC 5545 event description stored on the
350
+ invite.ics attachment entry:
351
+
352
+ event_title SUMMARY field
353
+ start Start datetime
354
+ e.g. "2026-06-01 09:00"
355
+ (UTC unless timezone set)
356
+ end End datetime — same format as start
357
+ location LOCATION (free text or address)
358
+ description Plain-text DESCRIPTION
359
+ timezone IANA timezone
360
+ e.g. "Europe/London", "America/New_York"
361
+ status CONFIRMED | TENTATIVE | CANCELLED
362
+ transparency OPAQUE (busy) | TRANSPARENT (free)
363
+ priority 0 (undef) … 9 (lowest), 1 is highest
364
+ organizer_email Mailbox of the event organizer
365
+ attendees ["a@x.com", "b@y.com"] — ATTENDEE list
366
+ alarm_minutes_before VALARM lead time in minutes;
367
+ 0 = no alarm
368
+ categories Comma-separated CATEGORIES
369
+ event_url RFC 5545 URL property
370
+ url_link Extra link rendered into description
371
+ + X-ALT-DESC
372
+ url_link_text Anchor text for url_link in the HTML
373
+ alt-description
374
+ rrule RFC 5545 RRULE
375
+ e.g. "FREQ=WEEKLY;BYDAY=MO"
376
+
377
+ -- HTML → WAV audio conversion --
378
+ attachments[].message_to_wav_config
379
+ voice/rate/volume settings stored on the WAV
380
+ attachment entry.
381
+
382
+ -- HTML → MOV video conversion --
383
+ attachments[].message_to_mov_config
384
+ width, height, fps, duration_seconds,
385
+ max_frames, quality, ffmpeg_path, codec,
386
+ pixel_format, background
387
+ Requires FFmpeg in PATH or ffmpeg_path.
388
+
389
+
390
+ -----------------------------------------------------------------------
391
+ props.eml_config — builds the .eml file when eml_attachment=true
392
+ -----------------------------------------------------------------------
393
+ from_name From: name inside the .eml
394
+ from_email From: address inside the .eml
395
+ mail_subject Subject of the .eml
396
+ reply_to Reply-To inside the .eml
397
+ eml_attachment true = attach an .eml file built from this
398
+ props.eml_config block
399
+ eml_attachment_name Filename for the generated .eml
400
+ messages_body.path HTML body for the .eml
401
+
402
+ The block below mirrors agent.message_to_* knobs so EML-nested
403
+ conversions can override the outer settings per-EML. Empty fields
404
+ fall back to the outer agent config.
405
+
406
+ pdf_orientation PDF orientation for the EML-nested PDF
407
+ message_to_doc_ahref Anchor text for the EML-nested DOCX
408
+ message_to_doc_ahref_styles Anchor style for the EML-nested DOCX
409
+ message_to_doc_link Destination URL for the EML-nested DOCX
410
+ message_to_epub_title EPUB title for the EML-nested EPUB
411
+ message_to_epub_author EPUB author
412
+ message_to_epub_publisher EPUB publisher
413
+ message_to_epub_content_title EPUB first-chapter title
414
+ message_to_pptx_title PPTX title for the EML-nested PPTX
415
+ message_to_pptx_author PPTX author
416
+ message_to_ics_config ICS config for the EML-nested ICS
417
+ (same fields as the outer ICS config)
418
+ message_to_wav_config WAV config for the EML-nested WAV
419
+ message_to_mov_config MOV config for the EML-nested MOV
420
+
421
+ Each entry in eml_config.attachments has the same shape as the outer
422
+ attachments — see "OUTER ATTACHMENTS" above. The HTML-conversion
423
+ entries (Message-to-PDF-1.pdf, Message-to-DOC-1.docx, …) live in
424
+ props/eml/attachments_msgs/e_messages-<type>.html and are auto-rendered
425
+ into real binaries when their active=true.
426
+
427
+
428
+ -----------------------------------------------------------------------
429
+ props.sorter_config
430
+ -----------------------------------------------------------------------
431
+ options.path Path to sorter rules. The file format
432
+ is one rule per line:
433
+ filename.txt|["mx-pattern", "..."]
434
+ See _init/props/sorter/sorter-options.txt
435
+ for examples.
436
+ The sorter streams emails.txt, writes buckets
437
+ incrementally, caches MX lookups by domain, and
438
+ places transient lookup failures in
439
+ Unresolved.txt for retry.
440
+ Each run writes summary.json with bucket counts,
441
+ totals, output path, and DNS cache statistics.
442
+ Domains with no MX records are written to
443
+ otherNoMX.txt. Domains with MX records that
444
+ do not match any configured sorter rule are
445
+ written to OthersMX.txt.
446
+ Large-run tuning env vars:
447
+ SORTER_MX_CONCURRENCY
448
+ SORTER_MS_CONCURRENCY
449
+ SORTER_DNS_TIMEOUT_MS
450
+ SORTER_HTTP_TIMEOUT_MS
451
+ SORTER_RETRIES
452
+ SORTER_MX_CACHE_LIMIT
453
+ SORTER_MAX_OPEN_BUCKETS
454
+
455
+
456
+ -----------------------------------------------------------------------
457
+ verifier
458
+ -----------------------------------------------------------------------
459
+ verify Streams emails.txt and writes valid,
460
+ invalid, and unresolved files under
461
+ results/verified/<timestamp>/.
462
+ Each run writes summary.json with totals, bucket
463
+ counts, output path, and MX DNS cache statistics
464
+ when the verifier uses MX/domain checks.
465
+ HTTP account checks: Microsoft, Google,
466
+ Hotmail, NetEase.
467
+ MX/domain checks: Turbify, AliMail,
468
+ 263xmail, BizQQ, Barracuda.
469
+ Large-run tuning env vars:
470
+ VERIFIER_CONCURRENCY
471
+ VERIFIER_MX_CONCURRENCY
472
+ VERIFIER_HTTP_TIMEOUT_MS
473
+ VERIFIER_DNS_TIMEOUT_MS
474
+ VERIFIER_RETRIES
475
+ VERIFIER_MX_CACHE_LIMIT
476
+
477
+
478
+ =======================================================================
479
+ TIP: monotomic.json may contain // line comments and /* block */
480
+ comments — the CLI strips them before parsing. But many global
481
+ installs and third-party tools do strict JSON.parse, so for
482
+ maximum compatibility keep monotomic.json strict and put your
483
+ notes in this monotomic.help.txt file instead.
484
+ =======================================================================