Commit Graph

88 Commits

Author SHA1 Message Date
Ankit Ranjan a8fa1fe21f refactor: rename device_flow to device_code across codebase and documentation 2026-05-12 16:37:52 +05:30
Priyansh Khodiyar 3f3cdd8fcc docs(site): lead with CLI + proxy; demote library to embedding case
Across the docs the recommended pattern is now wrapping the agent with
`uvx authsome run --`. The Python library remains supported but is
positioned as the embedding case for orchestrators that need explicit
control.

Concrete changes:

- Every provider CodeGroup (45 pages) reordered to Proxy →
  Environment → Python library, with a one-line lead-in.
- Generator updated so future regenerations preserve the order.
- Agent integration pages reframed: "Pattern 1 / Pattern 2" headings
  replaced with "Run under the proxy" + "Embedding the library".
- index.mdx for agent frameworks no longer presents two equal patterns.
- reference/python-library.mdx adds a top callout pointing readers at
  the CLI + proxy as the supported surface.
- concepts/architecture.mdx re-frames Sidecar as the supported mode
  and Library as an embedding option that shares the same layers.
2026-05-12 15:56:14 +05:30
Priyansh Khodiyar fac06d6275 docs(site): split Guides and Reference into top-level tabs
Top nav now has four tabs:
- Documentation (Get started · Concepts · Security · Project)
- Guides (Guides · Troubleshooting)
- Reference
- Integrations

Troubleshooting is folded as a sub-group under Guides since both are
task-oriented.
2026-05-12 15:56:02 +05:30
Priyansh Khodiyar 4d8e548077 fix(docs): unwrap call-graph diagram from Frame component
The <Frame> component constrains its child to a narrow centered column.
That works for images and mermaid (which renders as SVG and scales),
but it squeezed the architecture page's text-based call graph into a
single-character column, making it unreadable.

Replaced the wrapper with a plain caption sentence above the code block.
The mermaid Frame in index.mdx stays since mermaid SVGs handle the
constraint correctly.
2026-05-12 15:27:43 +05:30
Priyansh Khodiyar eb5f0a6afb docs(site): drop dead ProxyInjection import from provider pages
The snippet was deleted in 50f016c (now bf5f65c after rebase) when its
content was folded into the CodeGroup trailer. The generator continued
to emit the now-broken import line at the top of every provider page,
which Mintlify surfaced as warnings on every page load.

Regenerated 43 pages plus the Postiz override that lost its custom
"What's next" cards in the regen.
2026-05-12 14:11:23 +05:30
Priyansh Khodiyar 89700e5b11 docs(site): audit fixes across all four tiers
Tier 1 (critical — users were misconfiguring):
- Port + callback URL fixed everywhere. All `127.0.0.1:7999/callback`
  references replaced with `127.0.0.1:7998/auth/callback/oauth`, the
  value actually used by `src/authsome/server/urls.py`.
- Python API rewrite. Removed every reference to the non-existent
  `AuthsomeContext` and `ctx.auth.*` API. Library code samples now use
  `create_auth_service()` from `authsome.server.dependencies`, returning
  the real `AuthService`. Exception names corrected (the public exports
  in `authsome/__init__.py` all use the `*Error` suffix).
  `reference/python-library.mdx` rewritten end-to-end against the real
  surface; provider CodeGroup blocks regenerated with the corrected
  pattern.
- Dashboard URLs corrected. `/overview`, `/connections`, `/app/...`
  replaced with the real `/ui/`, `/ui/connections`, `/ui/apps/...`
  (matches the `/ui` prefix in `server/routes/ui.py`).
- `profiles-vs-connections.mdx` no longer claims a separate audit log
  per profile. The file at `~/.authsome/audit.log` is shared and tagged
  with the profile name.

Tier 2 (significant):
- `reference/cli.mdx` expanded with `scan`, `connection set-default`,
  `ui`, and the `daemon` subcommand group (`serve`, `start`, `stop`,
  `restart`, `status`, `logs`). Replaced the bogus `okta` example with
  GitHub Enterprise.
- `reference/audit-log.mdx` event table corrected: the documented
  `refresh` event with an `outcome` field doesn't exist; the real event
  is `refresh_failed` with `error` and `fallback_available`. Added the
  `scan` event.
- OAuth index: broken `/integrations/oauth/klaviyo` link fixed to
  `klaviyo-oauth`. Linear row corrected to `pkce` with the real regex
  host. Notion DCR host fixed to `mcp.notion.com`.
- Linear page no longer claims DCR support (the JSON has
  `supports_dcr: false` and `flow: pkce`).
- Provider count drift fixed in `index.mdx`, `provider-registry.mdx`,
  and `bundled-providers.mdx` (which was also missing the `notion_dcr`
  row).

Tier 2.7 (integration page corrections):
- `claude-code.mdx`: replaced fabricated `/anthropic-skills:authsome`
  namespace and `npx skills add` command with the real installation
  procedure for the bundled `skills/authsome/SKILL.md`.
- `cursor.mdx`: link to cursor.com (was cursor.sh); rewrote the
  terminal-tool advice against Cursor's real MCP config in
  `~/.cursor/mcp.json`.
- `cowork.mdx`: removed unverified `github.com/cowork-ai` link.
- `nanoclaw.mdx`: framed the runners more honestly; code example no
  longer assumes a specific `Agent` import.
- `anthropic-sdk.mdx`: model ID `claude-sonnet-4-6` → `claude-sonnet-4-5`.

Tier 3 (API-key dashboard URLs):
- 18 stale or wrong dashboard URLs reviewed. Five providers without a
  canonical key-management page (clearbit, g2, mailchimp, mention-me,
  wistia) now show a `docs` link plus a one-line note explaining why.
  The rest point at verified URLs as of May 2026. Changes flow through
  the generator's `APIKEY_NOTES` map and the regeneration of all 43
  provider pages.

Tier 4 (filler / repetition):
- CA-install instructions consolidated to canonical location in
  `troubleshooting/proxy-networking.mdx`; `installation.mdx` and
  `run-agents-with-proxy.mdx` link instead of duplicating.
- "Override bundled provider" deduplicated (canonical in
  `custom-providers.mdx`; removed from `provider-registry.mdx`).
- "Known v1 limitations" canonical in `daemon-trust-boundary.mdx`;
  trimmed from `threat-model.mdx`.
- `quickstart.mdx` H2 duplicate dropped; export-sourcing instruction
  corrected to use `eval`.
- `troubleshooting/doctor.mdx` removed "Inspect specific state" block
  that duplicated `cli.mdx`.
- `concepts/the-daemon.mdx` "When the daemon is reused" subsection
  promoted into the lifecycle body.
- `run-agents-with-proxy.mdx` "Limitations" H2 absorbed into one line.
- Postiz cross-linked with `headless-device-code.mdx` and vice versa.
- New "Uninstall" section in `installation.mdx`.
2026-05-12 14:02:57 +05:30
Priyansh Khodiyar 02d97f025b docs(site): add CodeGroup, Expandable; remove now-unused proxy-injection snippet
CodeGroup across all 45 provider pages: the "Use the token / key" section
now collapses Library / Proxy / Environment into a single tabbed widget
instead of three sequential subsections. Higher information density, one
copy-paste interaction per page.

Expandable on the daemon-api /ready response: nested checks fields render
as a typed, collapsible block instead of inline prose.

The proxy-injection.mdx snippet is no longer referenced anywhere; its
content is folded into the CodeGroup trailer prose with the env-var and
host inlined per page. Removed.
2026-05-12 14:02:57 +05:30
Priyansh Khodiyar ced242215e docs(site): rebuild docs into tabbed structure with shared snippets and component upgrades
Structure:
- Two-tab navigation (Documentation / Integrations) in docs.json.
- Documentation tab: Get started, Guides, Concepts, Security, Reference,
  Troubleshooting, Project (roadmap/changelog/compared).
- Integrations tab: Agent frameworks (12), OAuth providers (14), API-key
  providers (31). All 45 bundled providers have per-page entries with
  facts pulled from src/authsome/auth/bundled_providers/.

Content added (75 new pages):
- Onboarding gap: installation.
- Concepts: the-daemon, profiles-vs-connections.
- Security: threat-model, encryption, daemon-trust-boundary,
  hosted-deployment, disclosure.
- Guides: multiple-connections (extracted from login-with-oauth).
- Reference: file-layout, python-library, daemon-api, audit-log.
- Troubleshooting: daemon-issues.
- Project: roadmap, changelog, compared.
- Integrations: 3 overviews, 12 agent frameworks, 14 OAuth providers,
  31 API-key providers.

Shared snippets in docs/site/snippets/ used by 45 of 47 provider pages:
proxy-injection, multi-connections-cta, masked-input-note,
whats-next-oauth, whats-next-apikey.

Component upgrades:
- Prompt on agent integration pages with copy-to-clipboard / Open in Cursor.
- Tree on 4 filesystem layouts (replacing ASCII art).
- Accordion + AccordionGroup on troubleshooting/doctor, oauth-callbacks,
  token-refresh.
- Badge on roadmap (Shipped / Planned / Future status pills).
- Frame on architecture call graph and index mermaid with captions.
- Tooltip on PKCE, DCR, AES-256-GCM, fcntl.flock, NIST SP 800-38D.
- ResponseField on daemon-api typed responses.

docs.json:
- background.color light/dark to match marketing palette.
- appearance default dark.
- seo block with canonical, og, twitter, indexing.
- banner pointing at the GitHub repo.
- contextual options (copy, view, chatgpt, claude, cursor).
- feedback (thumbs + suggest edit).
- navbar llms.txt link.
- Footer expanded to three columns.

Sidebar icons:
- Brand icons (verified against Font Awesome GraphQL API) for atlassian,
  discord, github, gitlab, google, hubspot, microsoft, notion, slack,
  x-twitter, buffer, intercom, mailchimp, openai.
- Other providers and overview pages render without an icon to avoid
  echoing the group icon.

Em-dashes stripped from every MDX file.
2026-05-12 14:02:56 +05:30
Ankit Ranjan f0fd5d87b4 refactor: move registration_endpoint from OAuthConfig to a dedicated ClientRegistrationConfig model 2026-05-11 18:19:10 +05:30
Tejas 9f40cc6e02 Merge pull request #208 from manojbajaj95/feat/structured-exit-code-map
feat: stabilize and document specific CLI exit codes for error states
2026-05-11 13:03:26 +05:30
Ankit Ranjan 933d106f1f feat: standardize CLI JSON output format with versioning and stable schema fields 2026-05-10 21:48:53 +05:30
Ankit Ranjan 80244339c9 feat: standardize CLI exit codes and add comprehensive documentation for error states 2026-05-10 16:31:30 +05:30
Manoj Bajaj 1551eff9de docs: Add design decisions for hosted version
Entire-Checkpoint: 668250951996
2026-05-08 14:52:49 +05:30
beubax 006ce3f19a fix: resolve circular import in server dependencies 2026-05-08 14:37:34 +05:30
rishabhraj36 45c3a4bf91 fix: add non-interactive register confirmation flag 2026-05-08 13:25:21 +05:30
Manoj Bajaj bbe42f2469 docs: expand manual testing guide to cover full CLI surface
- Fix prerequisites to use uv run / uv pip install
- Add inspect, log, connection, daemon, and global flags sections
- Cover all three login flows: api_key, OAuth2 PKCE, device code
- Add export format variants (env, json, shell)
- Add proxy run section with quiet flag and multi-provider coverage
- Add custom provider register/remove lifecycle
- Add error handling section with expected exit codes
- Remove multi-profile and Python SDK sections (not yet supported)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Entire-Checkpoint: cc37f3a987cc
2026-05-07 16:12:15 +05:30
Manoj Bajaj 4bd09e0185 feat: restructure client-server daemon architecture 2026-05-05 23:26:14 +05:30
Ankit Ranjan cc1030ffda docs: update CLI commands in documentation to use uvx for execution 2026-05-04 16:50:51 +05:30
rishabhraj36 09fd6bc687 fix(cli): distinct exit code for cancelled credential entry 2026-05-02 08:08:40 +05:30
beubax 2f47c960a2 Merge branch 'develop' of https://github.com/manojbajaj95/authsome into develop 2026-04-30 16:32:57 +05:30
beubax 7fe5b0ccc9 refactor: update export command to return formatted string values instead of side-effecting environment variables 2026-04-30 16:32:51 +05:30
rishabhraj36 13031438e2 fix: refactored docs 2026-04-30 15:42:36 +05:30
Manoj Bajaj e2e82dff6a Merge branch 'develop' into convenience-ux-issues 2026-04-29 15:57:13 +05:30
beubax e831c53287 refactor: simplify CLI usage by removing complex setup instructions and mentions of init; update export to set environment variables directly 2026-04-29 13:50:19 +05:30
Manoj Bajaj a57a7de009 feat: support regex proxy host urls 2026-04-29 12:48:00 +05:30
Manoj Bajaj 946576a652 fix: keep proxy routing on default connections 2026-04-28 17:44:47 +05:30
Manoj Bajaj 0fd02c6530 fix: harden auth proxy routing 2026-04-28 17:36:22 +05:30
beubax ee172dbbee feat: add base URL templating support for providers 2026-04-27 17:12:13 +05:30
Manoj Bajaj f53f86c1fe docs: Remove superpower 2026-04-27 14:37:31 +05:30
Manoj Bajaj ffeda6500c chore: update lock files and add implementation plan for loguru migration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 14:37:31 +05:30
Manoj Bajaj e4eef7a7e2 docs: clarify authsome architecture direction 2026-04-27 12:22:19 +05:30
Manoj Bajaj 7cc0e2cc37 docs: Add documentation for current design and future direction 2026-04-27 11:05:52 +05:30
Manoj Bajaj bfd75eeae0 feat!: v0.2.0 — Vault + AuthLayer architecture, InputProvider, FlowResult
BREAKING CHANGE: Complete internal restructuring. All public Python API
has moved; CLI commands and flags are unchanged.

Architecture changes:
- Introduce Vault layer (vault/) — generic encrypted KV store; replaces
  store/ + crypto/ monolith. Compact AES-256-GCM format, LocalFile and
  Keyring backends.
- Introduce AuthLayer (auth/) — owns flows, token refresh, login/logout/
  revoke. Receives Vault + ProviderRegistry as deps; no direct crypto.
- Introduce AuthsomeContext (context.py) — thin wiring container
  replacing AuthClient as the CLI entry point.
- Move flows/ → auth/flows/, models/ → auth/models/,
  providers/ → auth/providers/. Delete store/, crypto/, client.py.

New features:
- InputProvider protocol: BridgeInputProvider, InteractiveInputProvider,
  MockInputProvider — replaces ad-hoc secure_input_bridge calls and
  simplifies test setup.
- FlowResult dataclass: flows now return FlowResult(connection,
  client_record) instead of a bare ConnectionRecord. DCR flow populates
  client_record only when it actually registered a new client.
- RequestRouter class removed; routing inlined as _route() module-level
  function in proxy/server.py. AuthProxyAddon takes only auth: AuthLayer.
- ConnectionRecord v2: tokens are plaintext str (Vault handles
  encryption at rest). Sensitive annotation marks fields for redaction.

Docs:
- docs/UBIQUITOUS_LANGUAGE.md: added Architecture Layers section (Vault,
  AuthLayer, AuthsomeContext, Sensitive); deprecated CredentialStore,
  CryptoBackend, EncryptedField.
- docs/manual-testing.md: end-to-end manual testing guide.

Tests reorganized under tests/auth/, tests/vault/, tests/proxy/,
tests/common/. 262 tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 13:15:05 +05:30
Manoj Bajaj 4c756a07b4 fix: add host_url to bundled providers and update docs for current API
Add host_url field to atlassian, discord, gitlab, hubspot, microsoft,
notion, and slack provider JSON configs. Fix docs to reflect current
flow names (api_key, device_code), add --show-secret to README example,
and remove --profile flag references that are no longer supported.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 20:14:44 +05:30
Manoj Bajaj 456d9bd811 feat: add proxy runner, RC publishing, and OAuth scope support (#53)
- Add local HTTP proxy runner for on-the-fly credential injection in child processes
- Add RC publish workflow triggered on successful tests on develop branch
- Add OAuth scope management and prompting during client login
2026-04-24 15:03:12 +05:30
Manoj Bajaj 4b7dad4fef docs: overhaul authsome skill and consolidate reference docs (#46)
- Simplify SKILL.md to focus on three happy paths: list, login, run
- Remove secret extraction guidance (export, --field, --show-secret) from skill
- Add security notes: no secrets in chat, verify OAuth endpoints, only run trusted commands
- Move REGISTER_PROVIDER.md and CLI_REFERENCE.md into docs/ as register-provider.md and merged into cli.md
- Cross-reference cli.md against actual CLI implementation; fix --flow valid values, add --show-secret to get, add -p alias for run, remove non-existent --connection from run
- Update evals to match revised skill (remove export/echo eval, fix provider registration path)
- All doc references now use raw GitHub URLs so agents can fetch them directly

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 13:10:07 +05:30
Tejas 69bc5d4018 Add undo functions (#34)
* feat: replace reset flow with force flag and reorganize provider lifecycle commands into logout, revoke, and remove

* feat: update remove command to support resetting bundled providers alongside local ones
2026-04-22 13:02:46 +05:30
Manoj Bajaj 12cbfae72f docs: refresh readme (#30) 2026-04-22 12:26:31 +05:30