Commit Graph

  • 3c5e0a26f3 chore(release): default installer to v0.5.2 main v0.5.2 steve 2026-06-23 23:05:31 +01:00
  • 456d25d4f3 fix(cli): clearer whitelist usage errors steve 2026-06-23 23:04:40 +01:00
  • 3bea73f857 fix(store): expand a leading ~ in EMCLI_DB steve 2026-06-23 23:04:40 +01:00
  • c651b00d08 chore(release): default installer to v0.5.1 v0.5.1 steve 2026-06-23 22:11:48 +01:00
  • 8ed10dd503 docs: agent can discover accounts via account list steve 2026-06-23 21:39:12 +01:00
  • 2140d9e173 feat(cli): agent-readable account list (reduced JSON view) steve 2026-06-23 21:37:37 +01:00
  • 64ff32ab29 docs(plan): agent-readable account list steve 2026-06-23 21:34:33 +01:00
  • 7039371f70 docs(spec): agent-readable account list (reduced JSON view) steve 2026-06-23 21:29:07 +01:00
  • e1b4ec38e5 docs(manual): document --from on account edit and the send-as address steve 2026-06-23 20:49:46 +01:00
  • bd06b4b900 chore(release): default installer to v0.5.0 v0.5.0 steve 2026-06-23 20:38:01 +01:00
  • 8e5c06a4cb style: fix test name typo, table-test reporting, validator wording steve 2026-06-23 20:32:33 +01:00
  • 32f5a8d933 fix(cli): clarify edit --from help; test edit --from validation steve 2026-06-23 20:29:37 +01:00
  • b6e68ddeae feat(cli): configurable send-as From address (flags, TUI, validation) steve 2026-06-23 20:25:14 +01:00
  • 6a99e5bb6e feat(mail): derive bare envelope sender from display-name From steve 2026-06-23 20:20:54 +01:00
  • c5e42ffbae fix(store): surface invalid schema_version; split migration test assertion steve 2026-06-23 20:19:35 +01:00
  • cdffb15004 feat(store): add account from_address field + v2 migration steve 2026-06-23 20:16:15 +01:00
  • a4c49d4aca docs: implementation plan for send-as From address steve 2026-06-23 20:12:28 +01:00
  • 852bb1dc5b docs: design for send-as From address field steve 2026-06-23 20:06:38 +01:00
  • 76ada04442 refactor(cli): wire commandRole into dispatch; doc + comment cleanup steve 2026-06-23 07:18:27 +01:00
  • add9515b5c docs: document two-key privilege model steve 2026-06-22 23:11:18 +01:00
  • 456e15a2f8 test(cli): check setup errors + report all admin refusals steve 2026-06-22 23:06:47 +01:00
  • 5c7dd252db test(cli): prove agent key cannot run admin commands steve 2026-06-22 23:03:17 +01:00
  • 9d946b1b03 feat(cli): two-key role routing + init bootstrap steve 2026-06-22 22:59:16 +01:00
  • cb0425f18d feat(store): envelope DEK with admin/agent wrap slots steve 2026-06-22 22:52:21 +01:00
  • c52f30898b feat(crypto): named-var key loaders (admin/agent) + NewDEK steve 2026-06-22 22:47:05 +01:00
  • 77ba5a146f docs(plan): two-key privilege separation implementation plan steve 2026-06-22 22:43:16 +01:00
  • 2bc2c1b50e docs(spec): two-key privilege separation design steve 2026-06-22 22:34:26 +01:00
  • c946516d01 chore(skill): point installer default at v0.4.1 v0.4.1 steve 2026-06-22 21:17:02 +01:00
  • b3390a0a20 fix(tui): default SMTP port to 465 in the account form steve 2026-06-22 21:15:25 +01:00
  • 1b2fe99055 feat(cli): add help for all commands steve 2026-06-22 21:11:40 +01:00
  • 7087533644 docs(skill): split setup into AGENTIC-MANUAL.md; keep SKILL.md lean steve 2026-06-22 21:01:46 +01:00
  • 93dbebb982 docs(skill): make SKILL.md self-bootstrapping from the repo steve 2026-06-22 20:51:15 +01:00
  • 68a29ad5c7 docs: mark CI release verified; note releases must be public for the installer steve 2026-06-22 20:40:45 +01:00
  • 5e3101647d build: add cross-platform release target, tea publish, and Gitea Actions release v0.4.0 steve 2026-06-22 20:32:22 +01:00
  • 7ad4f1adc2 feat(skill): add emcli Agent Skill (agentskills.io standard) steve 2026-06-22 20:25:08 +01:00
  • 55c763d641 docs: add user manual; expand README steve 2026-06-22 20:14:06 +01:00
  • a837b25d73 feat(admin): Phase 4 — doctor, admin completeness, and bubbletea TUI steve 2026-06-22 20:09:43 +01:00
  • 193815dd25 docs: Phase 3 decision — Gmail via app password; OAuth2 deferred steve 2026-06-22 18:16:20 +01:00
  • c99eaedafd feat(send): Phase 2 send path — SMTP, MIME, reply threading, outbound policy steve 2026-06-22 17:39:07 +01:00
  • 3224a87b6e docs: status report — live validation done, header-only fetch resolved steve 2026-06-22 07:52:42 +01:00
  • 5d2461ad94 fix(mail): drain UidFetch channel on early error; clarify ParseHeaderOnly doc steve 2026-06-22 07:51:45 +01:00
  • 8379fddbb2 perf(mail): fetch only headers for list/search (no body download) steve 2026-06-22 07:47:27 +01:00
  • a1440719ae docs: Phase 1 status report steve 2026-06-22 00:19:05 +01:00
  • 6061bd2a78 fix(cli): search limit counts visible results, filter before cap steve 2026-06-22 00:17:39 +01:00
  • dd181ef63c fix(cli): non-zero exit when an agent command emits an error envelope steve 2026-06-22 00:13:29 +01:00
  • e1e5f245e1 feat(cli): command router, real IMAP wiring, flag-based admin steve 2026-06-22 00:09:38 +01:00
  • e1d86dc587 fix(cli): reuse folder uidvalidity from setup in AckCmd steve 2026-06-22 00:06:26 +01:00
  • ccf6fa0542 feat(cli): agent read commands (list/get/search/ack) with policy filtering steve 2026-06-22 00:03:27 +01:00
  • 05abcf3bac feat(cli): JSON output envelope with stable error codes steve 2026-06-22 00:00:25 +01:00
  • 47f877ad82 fix(mail): apply search limit and propagate body read error steve 2026-06-21 23:58:09 +01:00
  • 83bf3019c5 feat(mail): IMAP client — select, fetch headers/full, search steve 2026-06-21 23:55:30 +01:00
  • 7df0c95339 fix(mail): propagate io.ReadAll errors when parsing parts steve 2026-06-21 23:53:24 +01:00
  • d73aabca96 feat(mail): RFC822 message parsing (headers, body, attachments) steve 2026-06-21 23:51:29 +01:00
  • b9d0b57f84 feat(policy): inbound whitelist + subject-regex filter steve 2026-06-21 23:49:04 +01:00
  • 4d6ac3e7c6 feat(policy): case-insensitive address and domain matching steve 2026-06-21 23:47:39 +01:00
  • 5fb022bbaf feat(store): audit log with retention-based purge steve 2026-06-21 23:45:57 +01:00
  • a4e72b2178 feat(store): seen-set read state with floor baseline and compaction steve 2026-06-21 23:43:35 +01:00
  • a1e9f601ce feat(store): per-account inbound/outbound whitelist CRUD steve 2026-06-21 23:41:10 +01:00
  • 2db459d701 feat(store): accounts CRUD with encrypted password column steve 2026-06-21 23:38:51 +01:00
  • aaab744b15 fix(store): pin connection pool so foreign_keys pragma sticks steve 2026-06-21 23:37:11 +01:00
  • 673ed5f350 feat(store): open encrypted SQLite, schema v1, settings steve 2026-06-21 23:34:31 +01:00
  • 8d04b0fde9 feat(crypto): AES-256-GCM field encryption keyed from EMCLI_KEY steve 2026-06-21 23:32:23 +01:00
  • afad3bf3f1 feat: project scaffold, version command, build steve 2026-06-21 23:30:44 +01:00
  • 04d3b61bb0 Plan: Phase 1 — foundation & read path implementation plan steve 2026-06-21 21:17:29 +01:00
  • e3f8afbc7c Spec: replace read pointer with per-message seen-set model steve 2026-06-21 21:01:34 +01:00
  • 79b62b24c2 Initial commit: PRD and SPEC for emcli steve 2026-06-21 19:36:13 +01:00