Commit Graph

46 Commits

Author SHA1 Message Date
beubax f4a6cf5a16 feat: add production backend config 2026-06-10 15:28:16 +05:30
Manoj Bajaj ea42284ff8 feat: add ProviderType classification and JSONC support for providers
Adds a `type` field (app | llm | mcp) to ProviderDefinition so consumers
can filter and display providers by category. Backfills all 71 bundled
providers. Also introduces a `parse_jsonc` utility that strips // and /* */
comments before JSON parsing, and wires it into the bundled loader and the
CLI register command so both .json and .jsonc provider files are accepted.

Closes #362

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 01:33:13 +05:30
Manoj Bajaj bf871df0ce chore: manually bump yanked version 2026-06-09 13:50:37 +05:30
Manoj Bajaj 6fe11073c8 feat: Fix failing tests 2026-06-09 09:06:58 +05:30
Manoj Bajaj 5b5a55d2bf fix: build action 2026-06-06 09:57:03 +05:30
Manoj Bajaj a033bfe93f chore: satisfy pylint ruff checks 2026-06-04 22:22:50 +05:30
Manoj Bajaj 3aab2fbd48 chore: run ruff lint 2026-06-04 16:14:00 +05:30
Manoj Bajaj 52fe7dc5c3 fix: move dashboard auth flow to Next routes 2026-06-03 14:49:56 +05:30
Manoj Bajaj e69508552f Merge remote-tracking branch 'origin/main' into feature/nextjs-static-ui
# Conflicts:
#	src/authsome/server/routes/audit.py
#	src/authsome/server/routes/connections.py
#	src/authsome/server/routes/health.py
#	src/authsome/server/routes/ui.py
2026-06-01 19:24:29 +05:30
Manoj Bajaj 29bb29a388 refactor: remove legacy dashboard routes
Delete the server-rendered dashboard pages, remove the static asset mount, and route the Next dashboard provider login form through the browser-session auth path.
2026-06-01 16:04:36 +05:30
Manoj Bajaj 3a6e7e5231 refactor: Simplify server logic for clear reparation, reduce slop
Entire-Checkpoint: 34c348b255f6
2026-05-31 01:41:05 +05:30
Manoj Bajaj 30ec8d4ff6 docs: Update documentation
Entire-Checkpoint: fe02c73a3964
2026-05-29 16:00:30 +05:30
Manoj Bajaj 0ed077b9df feat: implement audit events and principal roles
Implement ADR 005 by routing audit events through OpenTelemetry with a server-owned SQLite exporter and query endpoint. Implement ADR 006 by persisting principal roles, assigning first principal admin, and enforcing admin-only routes at the FastAPI dependency layer.

Entire-Checkpoint: df60966364f1
2026-05-28 15:13:56 +05:30
beubax 54ba227341 refactor: move server secret resolution out of vault 2026-05-27 16:42:18 +05:30
beubax 5a6c12cd75 Merge branch 'main' into feature/server-store-refactor 2026-05-27 16:06:30 +05:30
beubax 6f0f61c372 refactor: replace file-based registry storage with a unified SQL-backed ServerStore implementation 2026-05-27 16:02:24 +05:30
Manoj Bajaj aeb426357f feat: add browser SSO via Chrome cookie reading (browser-cookie3)
Enables authenticated access to sites like X/Twitter and LinkedIn that
use browser session cookies rather than OAuth or API keys.

Core logic lives entirely in auth/ — BrowserFlow.run_login() reads
Chrome's on-disk SQLite cookie database via browser-cookie3 (macOS
Keychain / Linux GNOME Keyring / Windows DPAPI), opens the site in the
user's default browser if no valid session exists, then polls until the
required auth cookies appear.  No separate Chrome profile, no Playwright.

- auth/browser_cookies.py: read_chrome_cookies(), cookies_are_valid(),
  normalize_jsessionid() with lazy browser-cookie3 import
- auth/flows/browser.py: BrowserFlow (begin/resume/refresh) + static
  run_login() for CLI use
- auth/models/: AuthType.BROWSER, FlowType.BROWSER, BrowserConfig,
  ExtractRule, ConnectionRecord.credentials field
- server/: register flow, header rendering, export branch, BrowserAction
  schema, _session_response wiring (~35 lines total)
- cli/main.py: 8-line elif block calling BrowserFlow.run_login()
- Bundled providers: x-browser, linkedin-browser
- 30 new tests in tests/auth/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 3753e27e5941
2026-05-27 12:27:28 +05:30
Ankit Ranjan e78832884f feat: add Anthropic and Gemini bundled providers 2026-05-26 13:12:59 +05:30
Ankit Ranjan cc3271da53 Merge remote-tracking branch 'origin/main' into feature/cli-command-grouping
# Conflicts:
#	src/authsome/cli/main.py
2026-05-25 17:54:01 +05:30
Ankit Ranjan 1bbe08fdfe fix: normalize cli error handling for json output 2026-05-25 13:14:33 +05:30
Manoj Bajaj 225d7fdcfb feat: Cleanup server routes
Entire-Checkpoint: 8c525303b5f3
2026-05-20 21:06:27 +05:30
Manoj Bajaj 39c1370ec8 refactor: rename actors package to identity with semantic sub-modules
Replace authsome.actors with authsome.identity, splitting into four
focused sub-modules:
  identity/local.py     — IdentityMetadata, keys, DID helpers, create_identity
  identity/proof.py     — PoP JWT creation and validation
  identity/registry.py  — daemon IdentityRegistry (Handle → DID)
  identity/principal.py — ClaimStatus, PrincipalRegistry, VaultRegistry,
                          IdentityClaimRegistry, PrincipalVaultBindingRegistry

Update all imports across src/ and tests/. Move tests/actors/test_registry.py
to tests/identity/test_registry.py. Delete the actors/ package.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Entire-Checkpoint: 88222782ec3b
2026-05-20 19:27:13 +05:30
nishant 91711896fa chore: sync uv.lock with pyproject.toml changes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 11:30:11 +05:30
nishant cce757052c chore: stage remaining branch changes
Remove evals/run_evals.py (replaced by inline orchestration in
run-evals.md), bump version to 0.3.2, update lockfile, and add
authsome skill command file.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 10:23:07 +05:30
Nishant Gaurav b790c63298 fix(evals): use claude --system-prompt for judge, grade on rate limit
Switch grading from anthropic SDK to `claude -p` subprocess to avoid
a hard dependency. Truncate transcript to last 4000 chars to stay within
CLI arg limits. Grade partial transcripts even when rate limit is hit
(emit WARNING instead of skipping).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 17:06:44 +05:30
Nishant Gaurav 689d33e2ed chore(evals): add evals directory and anthropic dev dep 2026-05-17 14:20:56 +05:30
Manoj Bajaj 7ad14f60a3 feat: add did pop daemon authorization
Entire-Checkpoint: a6b771e5077a
2026-05-12 19:18:25 +05:30
rishabhraj36 0afaf8780c feat: add audit logging for proxy request injection and resolution misses, and include pytest-asyncio dependency. 2026-05-12 17:48:13 +05:30
beubax 20459b90c8 Merge branch 'main' of https://github.com/manojbajaj95/authsome 2026-05-12 13:07:24 +05:30
Manoj Bajaj 10778e995e chore: Update version numbers 2026-05-11 12:43:15 +05:30
rishabhraj36 3867a96bb0 feat: added an interractive dashboard 2026-05-08 10:18:14 +05:30
Ankit Ranjan 8d4f9fca0c refactor: modularize web UI themes and add python-multipart dependency 2026-05-07 02:08:34 +05:30
Manoj Bajaj 4bd09e0185 feat: restructure client-server daemon architecture 2026-05-05 23:26:14 +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
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 02d1acfc50 refactor: Organize bundled providers 2026-04-26 14:13:21 +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
Tejas 676608f733 Fix/tests (#38)
* refactor: unify API key flow logic, update authentication tests to use bridge, and add CI workflow badge.

* refactor: expand test coverage and add Codecov badge to README

* refactor: remove unused TokenExpiredError alias from client tests

* chore: remove ty type checking from CI workflow

* feat: add type checking, improve token refresh error handling, and enable HTTP server port reuse in tests

* refactor: add whitespace to conftest for improved readability

* fix: ensure HTTPServer cleanup via finally blocks and improved test fixture teardown

* style: reorder imports in conftest.py to follow PEP 8 standards

* refactor: clean up whitespace and formatting in test server cleanup fixture

* refactor: enable address reuse directly in PKCE flow handlers and remove global test configuration

* feat: make callback port configurable in PKCE and DCR PKCE flows and update tests to use dynamic ports

* test: dynamic callback port assignment in PKCE and DCR PKCE flow tests
2026-04-22 03:44:39 -07:00
Manoj Bajaj 72433e73c5 fix: Fix the store key bug 2026-04-21 15:01:04 +05:30
beubax 72d08ed934 feat: implement common_options decorator to support global CLI flags across all commands 2026-04-21 14:52:37 +05:30
Tejas 096c682253 refactor: remove client config and environment-based API key handling to enforce secure profile-level credential storage (#13) 2026-04-21 01:52:02 -07:00
beubax 8ca148be54 refactor: remove profile management functionality from CLI and core logic 2026-04-20 14:14:11 +05:30
Manoj Bajaj 092452168f feat: Show separate custom and bundled providers; highlight connections spearately; tested pkce public oauth flow 2026-04-17 16:48:24 +05:30
Manoj Bajaj 6ad51760a8 chore: fix pyproject.toml and test bugs
- Set requires-python to >=3.13, target-version to py313, line-length to 120
- Add LICENSE file (MIT) and license-files field
- Update author name/email to Manoj Bajaj <manojbajaj95@gmail.com>
- Add py.typed marker, ruff config, and coverage config
- Fix test_flows.py: use LocalFileCryptoBackend instead of KeyringCryptoBackend
- Fix test_registry.py: assert "github" instead of non-existent "anthropic" bundled provider

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 14:22:10 +05:30
beubax 5724f3cd07 feat: implement CLI with full command set 2026-04-17 12:43:43 +05:30
beubax 3c980b4b60 feat: implement initial version of core auth framework 2026-04-16 17:32:22 +05:30