From 9eb6e65953181eb5a30926009461fdc9d8765932 Mon Sep 17 00:00:00 2001 From: Alex Skene <510285+skenaja@users.noreply.github.com> Date: Tue, 25 Aug 2026 17:13:50 +0100 Subject: [PATCH] docs(meta): fix package.json metadata, stale TODO/CLAUDE.md/README claims - package.json: rename gmail_ai_proxy -> sieve, ISC -> MIT (matches LICENSE), 1.0.0 -> 0.0.1, clean up description markdown. This file exists solely for the Playwright devDependency, not for publishing. - TODO.md: github, gitlab, linear, notion, asana, and slack were listed as unbuilt but are fully implemented in internal/connectors/; move them (plus gmail/anthropic/httpproxy/mcpproxy) to a new "Shipped" section and keep only genuinely unbuilt items in "Planned". - CLAUDE.md: cmd/sieve/main.go exists and `go build ./cmd/sieve` works; drop the stale note claiming otherwise. - README.md: Slack search_messages is fully implemented and runs on user-token connections (operation_not_enabled on bot connections), not "disabled in v1" as previously stated; link to docs/connectors-slack.md. Co-Authored-By: Claude Fable 5 --- CLAUDE.md | 6 +++--- README.md | 2 +- TODO.md | 40 +++++++++++++++++----------------------- package.json | 8 ++++---- 4 files changed, 25 insertions(+), 31 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 6f6ffd4..ed24644 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,9 +9,9 @@ A credential gateway between AI agents and real services (Gmail, AWS, LLM APIs, ## Build, run, test ```bash -# Build (NOTE: README/Dockerfile reference ./cmd/sieve, but no cmd/sieve/main.go -# currently exists in the repo — the only main package is e2e/testserver/. -# If `go build ./cmd/sieve` fails, that's expected, not a regression you need to fix.) +# Build +go build ./cmd/sieve +# Produces a `sieve` binary in the repo root; it's gitignored (see .gitignore). # Run all Go tests go test ./... diff --git a/README.md b/README.md index 831e5f8..48f5ec2 100644 --- a/README.md +++ b/README.md @@ -194,7 +194,7 @@ Two install paths — see [`docs/connectors-slack.md`](docs/connectors-slack.md) 2. **Add Connection** → **Slack** → **Use existing bot token** → paste and submit. 3. Sieve calls `auth.test` against Slack; on success the connection lands `active`. The token is encrypted at rest — never written to a plaintext column or logged. -Curated operations: `list_channels`, `list_users`, `read_user_profile`, `read_channel_history`, `read_thread`, `post_message`. (`search_messages` is exposed for policy bindings but disabled in v1 — it requires a user-token install which is on the roadmap.) +Curated operations: `list_channels`, `list_users`, `read_user_profile`, `read_channel_history`, `read_thread`, `post_message`, `search_messages`. `search_messages` is grantable to any Slack connection but only runs on user-token connections (Slack's `search.messages` requires a user token); bot-token connections get an `operation_not_enabled` error instead. See `docs/connectors-slack.md` for setup details. Multi-workspace setups work — add a second Slack connection with a different alias and address each by name through the agent-facing API. diff --git a/TODO.md b/TODO.md index 8f12dc6..fd00453 100644 --- a/TODO.md +++ b/TODO.md @@ -1,39 +1,35 @@ # Sieve Roadmap -Planned native connectors. All of these can be used today via the generic HTTP Proxy or MCP Proxy connectors — native support adds first-class policy rules, operation-level controls, and a better setup UX. +Native connectors add first-class policy rules, operation-level controls, and a better setup UX over the generic HTTP Proxy / MCP Proxy connectors, which remain the fallback for any service not yet listed as shipped below. -## Development & Project Management +## Shipped -- [ ] **GitHub** — Repos, PRs, issues, code search, actions. OAuth App or GitHub App auth. Policy rules: repo scope, read-only vs write, branch restrictions, org limits. -- [ ] **GitLab** — Projects, merge requests, issues, pipelines. OAuth or personal access token. Similar policy model to GitHub. -- [ ] **Linear** — Issues, projects, cycles, teams. OAuth or API key. Policy rules: team scope, read-only, label filters. -- [ ] **Jira** — Issues, sprints, boards, JQL search. OAuth or API token. Policy rules: project scope, issue type filters, transition restrictions. -- [ ] **Notion** — Pages, databases, blocks, search. OAuth. Policy rules: workspace scope, page-level access, read-only databases. +Implemented in `internal/connectors/`: + +- **GitHub** (`github/`) +- **GitLab** (`gitlab/`) +- **Linear** (`linear/`) +- **Notion** (`notion/`) +- **Asana** (`asana/`) +- **Slack** (`slack/`) — bot and user token install; see `docs/connectors-slack.md`. +- **Gmail** (`gmail/`) +- **Anthropic** (`anthropic/`) — LLM API connector. +- **HTTP Proxy** (`httpproxy/`) — generic connector for any HTTP API. +- **MCP Proxy** (`mcpproxy/`) — generic connector for any MCP server. -## Communication +## Planned -- [ ] **Slack** — Messages, channels, reactions, files, users. OAuth with bot/user tokens. Policy rules: channel scope, read-only, no DMs, message content filters. +- [ ] **Jira** — Issues, sprints, boards, JQL search. OAuth or API token. Policy rules: project scope, issue type filters, transition restrictions. - [ ] **Discord** — Messages, channels, guilds, reactions. Bot token. Policy rules: guild scope, channel restrictions, no DMs. - [ ] **Microsoft Teams** — Messages, channels, chats. Microsoft Graph API. Policy rules: team scope, read-only channels. - -## Productivity - - [ ] **Microsoft 365** — Outlook (email), OneDrive (files), SharePoint (docs), Teams. Microsoft Graph API with OAuth. Policy rules mirror Google services: email read-only, file access by folder, calendar restrictions. - -## Data & Analytics - - [ ] **PostgreSQL** — Direct SQL queries with policy-enforced row-level security. Connection via connection string. Policy rules: table allowlist, read-only, query complexity limits, result row limits. - [ ] **MySQL** — Same model as PostgreSQL. - [ ] **Snowflake** — Warehouse queries. Policy rules: schema/table scope, query cost limits. - [ ] **BigQuery** — Google Cloud analytics. Policy rules: dataset scope, query byte limits. - -## Payments & Business - - [ ] **Stripe** — Customers, payments, subscriptions, invoices. API key auth. Policy rules: read-only, no refunds, amount limits, customer scope. - [ ] **Twilio** — SMS, voice calls, WhatsApp. API key auth. Policy rules: recipient allowlist, message content filters, no voice calls. - -## Cloud Infrastructure - +- [ ] **AWS** — Compute, storage, and managed services via IAM credentials. Policy rules: service allowlist, resource ARN scope, read-only, region limits. - [ ] **GCP** — Compute Engine, Cloud Storage, BigQuery, Cloud Run. Service account auth. Policy rules: project scope, resource type restrictions, region limits. - [ ] **Azure** — VMs, Blob Storage, Cosmos DB. Service principal auth. Policy rules: resource group scope, read-only, region limits. - [ ] **Vercel** — Deployments, domains, environment variables. API token auth. Policy rules: project scope, no production deploys, read-only env vars. @@ -45,5 +41,3 @@ Native connectors are prioritized by: 1. How commonly AI agents need the service 2. How dangerous unrestricted access is (email > file storage > read-only APIs) 3. How much policy granularity improves over the generic proxy - -The generic HTTP Proxy and MCP Proxy connectors are always available as a fallback for any service with an HTTP API or MCP server. diff --git a/package.json b/package.json index ca0130d..13bc640 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "gmail_ai_proxy", - "version": "1.0.0", - "description": "**A credential gateway for AI agents.**", + "name": "sieve", + "version": "0.0.1", + "description": "A credential gateway for AI agents", "main": "index.js", "directories": { "doc": "docs" @@ -15,7 +15,7 @@ }, "keywords": [], "author": "", - "license": "ISC", + "license": "MIT", "bugs": { "url": "https://github.com/trilitech/Sieve/issues" },