Managesieve
Provider-agnostic ManageSieve (RFC 5804) client built directly on Deno's native TCP/TLS primitives -- no third-party ManageSieve library exists on npm with any real maintenance signal, so the small line protocol (STARTTLS, SASL PLAIN, and the literal/quoted string framing for LISTSCRIPTS/GETSCRIPT/PUTSCRIPT/SETACTIVE/DELETESCRIPT/CHECKSCRIPT) is implemented in-repo behind a single injectable transport seam. Read-only methods: listScripts, getScript, getActive, checkScript (CHECKSCRIPT without installing). Gated write methods: putScript, setActive, deleteScript -- dryRun defaults true, every write validates via CHECKSCRIPT first (putScript) or a live LISTSCRIPTS snapshot (setActive/deleteScript), and deleteScript refuses to remove the currently-active script. Script names/text are always sent as RFC 5804 non-synchronizing literals ({n+}), which are purely length-prefixed, so no caller-supplied content can ever be interpreted as a protocol boundary.
| Argument | Type | Description |
|---|---|---|
| name | string | Script name, as returned by listScripts |
| Argument | Type | Description |
|---|---|---|
| text | string | Sieve script source to validate |
| Argument | Type | Description |
|---|---|---|
| name | string | Script name to create/overwrite |
| text | string | Sieve script source |
| dryRun? | boolean | true (default): preview only, zero mutation. false: mutate. |
| Argument | Type | Description |
|---|---|---|
| name | string | Script name to activate, or "" to deactivate |
| dryRun? | boolean | true (default): preview only, zero mutation. false: mutate. |
| Argument | Type | Description |
|---|---|---|
| name | string | Script name to delete |
| dryRun? | boolean | true (default): preview only, zero mutation. false: mutate. |
Resources
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License2/2earned
- Verified public repository2/2earned