mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-16 14:01:09 +00:00
feat(foundry): implement provider credential management (Claude, Codex)
Add credential extraction, injection, and UI for managing Claude and Codex OAuth credentials in sandbox environments. Credentials are stored per-user in the user actor, injected on task owner swap, and periodically re-extracted to capture token refreshes. Frontend account settings show provider sign-in status. Changes: - User actor: new userProviderCredentials table with upsert/get actions - Task workspace: extract/inject provider credentials, integrate with owner swap and polling - App snapshot: include provider credential status (anthropic/openai booleans) - Frontend: new Providers section in account settings Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
3895e34bdb
commit
c1a4895303
14 changed files with 481 additions and 11 deletions
|
|
@ -4,12 +4,7 @@ export type FoundryBillingPlanId = "free" | "team";
|
|||
export type FoundryBillingStatus = "active" | "trialing" | "past_due" | "scheduled_cancel";
|
||||
export type FoundryGithubInstallationStatus = "connected" | "install_required" | "reconnect_required";
|
||||
export type FoundryGithubSyncStatus = "pending" | "syncing" | "synced" | "error";
|
||||
export type FoundryGithubSyncPhase =
|
||||
| "discovering_repositories"
|
||||
| "syncing_repositories"
|
||||
| "syncing_branches"
|
||||
| "syncing_members"
|
||||
| "syncing_pull_requests";
|
||||
export type FoundryGithubSyncPhase = "discovering_repositories" | "syncing_repositories" | "syncing_branches" | "syncing_members" | "syncing_pull_requests";
|
||||
export type FoundryOrganizationKind = "personal" | "organization";
|
||||
export type FoundryStarterRepoStatus = "pending" | "starred" | "skipped";
|
||||
|
||||
|
|
@ -85,6 +80,11 @@ export interface FoundryOrganization {
|
|||
repoCatalog: string[];
|
||||
}
|
||||
|
||||
export interface FoundryProviderCredentialStatus {
|
||||
anthropic: boolean;
|
||||
openai: boolean;
|
||||
}
|
||||
|
||||
export interface FoundryAppSnapshot {
|
||||
auth: {
|
||||
status: "signed_out" | "signed_in";
|
||||
|
|
@ -100,6 +100,7 @@ export interface FoundryAppSnapshot {
|
|||
skippedAt: number | null;
|
||||
};
|
||||
};
|
||||
providerCredentials: FoundryProviderCredentialStatus;
|
||||
users: FoundryUser[];
|
||||
organizations: FoundryOrganization[];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue