473 Commits

Author SHA1 Message Date
Manoj Bajaj 749e703274 feat: merge agent detail view with enhanced agents list and review fixes
Merge feature/agent-detail-view (#444) and resolve conflicts, keeping the
PR's backend-driven detail page (API endpoint, audit scoping, tests) and
our enhanced agents list view (search, card headers, claim badges).

Also fixes three review issues:
- Add 403 guard for non-admin audit identity filter (prevents querying
  events for identities the caller does not own)
- Add idx_audit_events_identity index via migration v2
- Update test assertions for new 403 behavior and migration count

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 06:06:12 -07:00
Ankit Ranjan 256753f320 feat: add agent detail view 2026-06-17 15:49:37 +05:30
Manoj Bajaj e341d4ed3b Merge pull request #438 from agentrhq/feature/authsome-onboard
feat!: Add authsome onboard, remove init and scan
2026-06-16 21:33:28 +05:30
Manoj Bajaj 8dbf579e21 Merge pull request #436 from agentrhq/feature/issue-414-custom-providers-ui
feat: implement custom provider management with CRUD support, registration schema updates, and a dedicated UI form.
2026-06-16 21:32:46 +05:30
Manoj Bajaj 3a9f17e9bc fix: recover from 409 when concurrent agents register the same DID
When two processes with the same private key race to register, the loser
gets a 409 from the identity server. Re-resolve the handle by DID and
continue instead of failing startup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 08:50:01 -07:00
Manoj Bajaj d9936d5699 feat!: replace init and scan with authsome onboard
Unifies first-run setup into a single idempotent command that registers
identity, completes claim, and imports API keys from env. Persists
--base-url in client config for remote daemon connections.

Closes #434

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 02:22:10 -07:00
Ankit Ranjan 8f4029ec7e feat: implement custom provider management with CRUD support, registration schema updates, and a dedicated UI form. 2026-06-16 14:06:11 +05:30
rishabhraj36 d9d2c60563 feat: derive agent identity from a single private-key env var 2026-06-16 13:32:04 +05:30
Ankit Ranjan 6645d7ef21 Merge branch 'main' into feature/expand-settings-page 2026-06-15 18:29:07 +05:30
beubax 71d52ad0f8 refactor: remove audit event filters 2026-06-15 18:06:50 +05:30
Ankit Ranjan e33fc3c18e fix: remove blocking future result call in audit event persistence to prevent thread deadlock 2026-06-15 17:52:35 +05:30
beubax 2a296e33a3 refactor: simplify audit query filters 2026-06-15 17:49:29 +05:30
Ankit Ranjan 972e00c575 refactor: rename identity to agent throughout CLI and UI for improved terminology consistency 2026-06-15 17:27:10 +05:30
beubax 3a94665041 Merge branch 'main' into feature/user-scoped-audit-log 2026-06-15 14:21:05 +05:30
beubax d54c4159ba fix: avoid audit shutdown deadlock 2026-06-15 14:15:25 +05:30
beubax 08446d1e28 feat: enforce role-aware audit event queries 2026-06-15 13:43:24 +05:30
beubax 3a1a564673 feat: add paged audit event queries 2026-06-15 13:38:36 +05:30
Tejas 913ec0984c Merge pull request #418 from agentrhq/bugfix/dashboard-ui-bugs
fix: polish dashboard connection flows
2026-06-12 23:24:56 +05:30
Ankit Ranjan da7a4017b1 fix: refine provider and connection dashboard states 2026-06-12 16:46:18 +05:30
beubax eb37f84c9f fix: hide optional asyncpg import from ty 2026-06-12 12:59:49 +05:30
beubax be5c646b5b fix: require production backend URLs 2026-06-12 12:42:06 +05:30
beubax d4595568ec Merge branch 'main' into feature/stateless-production-deployments 2026-06-12 12:38:32 +05:30
Manoj Bajaj 16af935137 Merge pull request #410 from agentrhq/feature/global-connection-pointers
feat: global connection pointers
2026-06-12 10:26:34 +05:30
Ankit Ranjan cb1f367340 Merge pull request #409 from agentrhq/feature/provider-catalog-mcp-llm-jsonc
chore: expand provider catalog — MCP/LLM providers, type fixes, JSONC migration
2026-06-11 15:21:34 +05:30
Ankit Ranjan d0eaca7fec refactor: migrate Notion DCR configuration into the primary notion-mcp provider and remove redundant file 2026-06-11 15:00:24 +05:30
Manoj Bajaj c1a9f66393 fix: add env field to config and disable PostHog in non-prod environments
Adds `env: Literal["prod", "dev", "test"]` to `AuthsomeConfig` (read from
`AUTHSOME_ENV`) so the runtime environment is a first-class config concern
shared across client and server.

Gates `analytics_enabled` on `env == "prod"` in `ServerConfig` so PostHog
is never initialised in dev or test — preventing the background consumer
thread from blocking pytest process exit and causing CI jobs to hang until
the 6-hour GitHub Actions timeout.

Test suite now sets `AUTHSOME_ENV=test` at module level and in the
`_disable_analytics` autouse fixture. The CI workflow also sets it as
defence-in-depth and adds `timeout-minutes: 10` so runaway jobs fail fast.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 19:49:41 +05:30
beubax b374fb49a0 fix: address production readiness review 2026-06-10 16:55:14 +05:30
beubax 5457d10940 fix: remove duplicate health route 2026-06-10 16:28:07 +05:30
beubax 3b8cfd01bb feat: add root health check 2026-06-10 16:26:52 +05:30
beubax ea0fd94e5b fix: close redis client on ping failure 2026-06-10 16:23:12 +05:30
beubax 448c8b2417 fix: clean up failed runtime startup 2026-06-10 16:21:01 +05:30
beubax d828d2b775 feat: select redis runtime state 2026-06-10 16:15:19 +05:30
beubax b754b80227 fix: atomically consume redis pending claims 2026-06-10 16:06:40 +05:30
beubax 0ea30dc783 refactor: split pending claim storage 2026-06-10 16:03:16 +05:30
beubax 60e21e1ceb fix: clean redis auth session indexes 2026-06-10 15:58:41 +05:30
beubax 604d18e24a feat: add auth session store contract 2026-06-10 15:54:34 +05:30
beubax c68de27a15 fix: preserve pop replay auth errors 2026-06-10 15:48:34 +05:30
beubax fc3189bad1 refactor: move pop replay cache to server 2026-06-10 15:46:36 +05:30
beubax 9c141f3c81 fix: bind store transactions to pooled connection 2026-06-10 15:42:16 +05:30
beubax 8a817d99c2 feat: add store migrations and postgres pooling 2026-06-10 15:37:40 +05:30
beubax 7a39de61d0 fix: restore sqlite store branch 2026-06-10 15:33:35 +05:30
beubax a87328f578 fix: lazy load postgres driver 2026-06-10 15:31:40 +05:30
beubax f4a6cf5a16 feat: add production backend config 2026-06-10 15:28:16 +05:30
beubax 08e9650af3 Merge branch 'main' into feature/global-connection-pointers 2026-06-10 14:03:05 +05:30
beubax 0975ab82e0 feat: expose global connection CLI controls 2026-06-10 13:57:45 +05:30
beubax 9c50afc585 feat: add global connection fallback registry 2026-06-10 13:57:38 +05:30
Manoj Bajaj de8a9c93f8 chore: expand provider catalog with MCP/LLM providers, fix type classifications, migrate to JSONC
- Add ProviderType.BROWSER enum value; reclassify linkedin-browser and
  x-browser from type:app to type:browser
- Add 8 LLM providers (anthropic, mistral, groq, openrouter, together,
  fireworks, perplexity, bedrock) with type:llm
- Add 8 MCP providers (brave-search-mcp, stripe-mcp, sentry-mcp,
  linear-mcp, notion-mcp, github-mcp, slack-mcp, cloudflare-mcp)
  with type:mcp; each is distinct from the existing OAuth app provider
  of the same service
- Migrate all 73 bundled provider files from .json to .jsonc; each file
  now has a top-level comment block documenting purpose, auth/flow type,
  and non-obvious config choices (scope rationale, header quirks, etc.)

Closes #408

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 13:13:20 +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
beubax b9b3fc90a6 refactor: rename client_secret_handling to authorization_method and unify basic auth implementation across flows 2026-06-09 16:13:27 +05:30
Manoj Bajaj 745f1a28d4 fix: bundle static UI assets into wheel
Hatchling respects .gitignore by default, so the generated
src/authsome/ui/web/* assets were excluded from the wheel even though
build-ui.sh populates them before uv build runs in CI.

- Add force-include for the wheel target (sdist already had this) with
  the correct installed path (authsome/ui/web, not src/authsome/ui/web)
- Remove .gitkeep — build-ui.sh's mkdir -p creates the directory;
  no placeholder needed
- Drop the .gitignore exception for .gitkeep

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 13:15:21 +05:30