Skip to content

Releases: tarunlnmiit/inbox-to-action

v0.2.7 — listed on the Official MCP Registry

Choose a tag to compare

@tarunlnmiit tarunlnmiit released this 02 Jul 14:39
8e7ddea

Adds the mcp-name ownership marker to the README and publishes to the Official MCP Registry (io.github.tarunlnmiit/inbox-to-action).

📦 https://pypi.org/project/inbox-to-action/0.2.7/

v0.2.6 — .env loads from your run folder

Choose a tag to compare

@tarunlnmiit tarunlnmiit released this 02 Jul 14:35
8d7f2b7

Fixes a pip-install issue: inbox-to-action run now finds a .env in the folder you run from (previously load_dotenv() searched from site-packages and missed it, so PROVIDER/API keys looked unset). Uses find_dotenv(usecwd=True).

📦 https://pypi.org/project/inbox-to-action/0.2.6/

v0.2.5 — robust structured output

Choose a tag to compare

@tarunlnmiit tarunlnmiit released this 02 Jul 14:08
b497814

Any provider that returns a non-schema reply to a structured call (bare token, prose) no longer crashes the run.

  • _parse_json degrades: strict → salvage embedded JSON → raw string (never raises).
  • Classifier accepts a bare/verbose category; tasks & calendar already default on non-dict.
  • Applies to all providers (claude, ollama, openrouter, nim, openai, anthropic).

📦 https://pypi.org/project/inbox-to-action/0.2.5/

v0.2.4 — claude CLI robustness

Choose a tag to compare

@tarunlnmiit tarunlnmiit released this 02 Jul 14:00
eb68ab8

Fixes PROVIDER=claude crashing with Model did not return valid JSON: '' on machines whose claude CLI doesn't honor --json-schema (older Claude Code, or not logged in).

  • Empty structured result → retry once with the schema embedded in the prompt (works across CLI versions).
  • Still empty → actionable error (check claude --version / log in / use another PROVIDER).

📦 https://pypi.org/project/inbox-to-action/0.2.4/

v0.2.3 — task-extraction hardening

Choose a tag to compare

@tarunlnmiit tarunlnmiit released this 02 Jul 13:47
fda0923

extract_tasks tolerates small-model output returning tasks as an object/string/null instead of an array (coerce lone object → list, drop others → empty, skip non-dict items). Prevents a crash on ollama/openrouter/nim.

📦 https://pypi.org/project/inbox-to-action/0.2.3/

v0.2.2 — Gmail-only

Choose a tag to compare

@tarunlnmiit tarunlnmiit released this 02 Jul 13:47
786751f

Removed the Outlook provider (Gmail + Google Workspace only; multi-account abstraction stays). Stale kind: outlook configs are silently dropped.

📦 https://pypi.org/project/inbox-to-action/0.2.2/

v0.2.1 — OpenAI-compat robustness

Choose a tag to compare

@tarunlnmiit tarunlnmiit released this 02 Jul 13:47
c34e7fc

Guard empty choices in OpenAI-compatible providers (rate-limited 200+error body → clean LLMError, not KeyError); ruff import sort.

📦 https://pypi.org/project/inbox-to-action/0.2.1/

v0.2.0 — first PyPI release

Choose a tag to compare

@tarunlnmiit tarunlnmiit released this 02 Jul 13:47
f51f45a

First published release of inbox-to-action. One-pass agentic inbox triage: fetch unread Gmail → classify → summarize → extract tasks → draft replies (never sends) → flag calendar → triage-report.md.

  • CLI (run / auth / mcp); providers: claude(keyless), ollama, openrouter, nim, openai, anthropic, host
  • Multi-account Gmail / Workspace; configurable rules + instructions
  • MCP server (4 tools) + /inbox-to-action skill; Telegram + Todoist
  • Gmail scopes gmail.readonly+gmail.compose only — drafts only, never send

📦 https://pypi.org/project/inbox-to-action/0.2.0/