Skip to content

Conversation

@bitbeckers
Copy link
Contributor

No description provided.

@bitbeckers bitbeckers self-assigned this Dec 4, 2025
@changeset-bot
Copy link

changeset-bot bot commented Dec 4, 2025

🦋 Changeset detected

Latest commit: 7020fcc

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@hypercerts-org/sdk-core Patch
@hypercerts-org/sdk-react Patch
@hypercerts-org/lexicon Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@bitbeckers bitbeckers merged commit faf4c3f into develop Dec 4, 2025
2 checks passed
bitbeckers added a commit that referenced this pull request Dec 4, 2025
Add ConfigurableAgent class that extends Agent to support routing requests
to configurable service URLs, enabling proper PDS/SDS separation and
multi-SDS support.

Key features:
- ConfigurableAgent wraps session's fetch handler to route to custom URL
- Repository now uses ConfigurableAgent instead of standard Agent
- Supports multiple SDS instances with same OAuth session
- Maintains all authentication (DPoP, OAuth) from original session

Architecture:
- Agent's service URL is determined by FetchHandler, not modifiable properties
- ConfigurableAgent creates custom FetchHandler that prepends target URL
- Session's fetch handler provides authentication layer
- Enables: user@PDS accessing orgA@SDS and orgB@SDS simultaneously

Use cases:
- Route to SDS while authenticated via PDS
- Access multiple organization SDS instances
- Test against different server environments
- Switch between PDS and SDS operations dynamically

Resolves the issue where invalid agent.service and agent.api.xrpc.uri
property assignments were attempted. The proper solution is to wrap
the fetch handler at Agent construction time.

Related: #59, implements pattern from hypercerts-org/atproto sds-demo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants