This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Reason given by maintainers: re-architect to plugins
delegate-connector-email
The first OSS Python connector for the Terrene Delegate substrate. Implements the
shipped kailash.delegate.Connector ABC (kailash 2.26.2) for email:
write— SMTP outbound send, executed under audit, returns a realSignedActionEnvelope.read— IMAP inbound fetch, executed under audit, returns(messages, AttestedReadReceipt).authenticate— resolves a sender/recipient address to aPrincipalagainst aPrincipalDirectory(exact-match in v0; unknown sender →Reject, fail-closed).invoke— single-method dispatch entry (used by the dispatch hot path); dispatches a send and returns aConnectorInvocationResult.- Trust properties —
auth_verifierreturns the wiredEd25519Verifier;ledger/revocationreturn shipped concretes (framework-first; no custom trust primitives).
It subclasses Connector directly (ADR-1) — NOT LegacyInvokeConnector,
whose proxied read/write emit empty, unverifiable receipts. This connector's
read/write produce non-empty receipts that verify under a real
Ed25519Verifier.
Install
pip install -e connectors/email
Configure
All credentials come from the environment (see .env.example):
EMAIL_SMTP_HOST/PORT/USER/PASSWORD/USE_TLS and the EMAIL_IMAP_* equivalents.
Nothing is hardcoded; nothing is logged.
Test
Tier-1 (unit, no I/O):
pip install -e "connectors/email[test]"
python -m pytest connectors/email/tests/unit -q
Tier-2/3 (real infra — Mailpit + GreenMail, no mocks at the boundary):
docker compose -f connectors/email/docker-compose.yml up -d
python -m pytest connectors/email/tests/integration -q
docker compose -f connectors/email/docker-compose.yml down
Two real mail servers back the tier: Mailpit (SMTP :1025 + REST/UI :8025)
for the outbound send + arrival assertion, and GreenMail (greenmail/standalone;
real SMTP :3025 + real IMAP :3143) for the inbound IMAP round-trip — Mailpit
v1.30.0 ships no IMAP server. If Docker is unavailable the integration tests skip
with a clear reason (they do not fake the boundary).
Known limitation — runtime execute() audit gate
compose.py builds a real DelegateRuntime around the connector. However the
shipped kailash.delegate runtime/dispatch audit-emit path signs the event
payload bytes while AuditChainEngine.emit_event verifies the signature against
the full audit-entry signing bytes — so runtime.execute() fails at the first
audit emission under any real verifier. This is an SDK bug in kailash.delegate,
not in this connector; the connector's own read/write receipts verify
correctly. See workspaces/email/journal/0005-GAP-* for the full evidence and
reproduction. The end-to-end runtime.execute() assertion is gated on the SDK
fix; the connector-level SMTP→IMAP round-trip and receipt verification are not.
License
Apache 2.0. All open-source IP is owned by the Terrene Foundation.
Metadata
Release files for delegate-connector-email 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| delegate_connector_email-0.1.0.tar.gz | 44.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| delegate_connector_email-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.7 kB
Release files / delegate_connector_email-0.1.0.tar.gz
| Download URL | delegate_connector_email-0.1.0.tar.gz |
|---|---|
| Size | 44.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2371ff04ceed3aa1f400a60d2a92393645721278d48926a4f27d1a8fe6df8dbf
|
|
BLAKE2b-256 checksum How to use checksums |
b16887cbd382c02f64b0d129b8282993d8a20775de052f67d151be14e432c599
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|
Release files / delegate_connector_email-0.1.0-py3-none-any.whl
| Download URL | delegate_connector_email-0.1.0-py3-none-any.whl |
|---|---|
| Size | 26.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
47ec31fbaa0c86eb83f1aaa49e79b3335c3dcf71720780d3f8cbded590829753
|
|
BLAKE2b-256 checksum How to use checksums |
f468a011cb2bcdf8ed93bcee972e39f6b6617b6d4e67a61307120005f8e49825
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|