-Puter
|
c644ec8d01
|
feat(git): thin project onboarding, provider integration, and AgentOS repository access
Effect primitives:
- git-provider: GitProvider, connection states, normalized errors, URL
normalization, host compatibility, credential freshness window
- git-provisioning: validated Puter commands, migration states, idempotency
keys, safe replacement rules, owner-safe guards
- git-webhook: supported events, signature verification, delivery states
- host-repository: provider-neutral credential-safe clone via GIT_ASKPASS
Normalized Convex schema:
- gitProviderAccounts, refined gitConnections, gitProviderOrganizations,
gitRepositories, gitMigrations, gitWebhookDeliveries
- projects: gitRepositoryId + instructions fields
- Schema fields optional for backward compatibility, with backfill cron
Backend:
- Connection health: verify action, hourly reconciliation (covers stale
active + reauth-required + undefined-state legacy connections)
- Puter provisioning: createPuterUser/Organization/Repository with owner
binding, startGithubMigration (durable via scheduler), getMigration
- Org ownership: explicit member add with admin role + verification
- Webhook HTTP actions: HMAC verification, delivery persistence with
idempotency, repository resolution, byte-length payload limit
- Automatic Puter webhook creation after repo creation/migration with
fail-loud state tracking
- Repository sync after connection (Gitea + GitHub)
- AgentOS execution resolves gitRepositoryId for real clone URL
- Credential gating: state + freshness checks before execution and
project creation
- listForOrganization for cross-project Work filtering
Frontend:
- /projects onboarding page with GitHub OAuth (linkSocial) and Puter PAT
- Zero-project redirect, repository selection, context editor
- Provider-aware settings panel (no serverUrl for Puter)
- Project selection via ?project= query param
- GitHub scopes: repo + read:org
Agent runtime:
- Clones user repository with GIT_ASKPASS credential helper (no token in
URL, args, or git config), provider-aware username
- Removed fixed Zopu source path and .env copy
|
2026-07-31 14:36:56 +05:30 |
|