combined consent, install pages, better flow
last month
79 files changed
- apps/bot-example/.env.example+1−1
- apps/bot-example/.gitignore+1−2
- apps/bot-example/README.md+4−3
- apps/bot-example/src/html.ts+20−4
- apps/bot-example/src/open-git.ts+64−10
- apps/bot-example/src/server.ts+36−1
- apps/bot-example/src/store.ts+102−4
- apps/web/app/(home)/page.tsx+13−1
- apps/web/app/admin/bots/actions.ts+48−0
- apps/web/app/admin/bots/bots-admin.tsx+223−0
- apps/web/app/admin/bots/page.tsx+34−0
- apps/web/app/admin/waitlist/waitlist-admin.tsx+14−6
- apps/web/app/api/v1/app/installations/[id]/route.ts+68−0
- apps/web/app/home/page.tsx+14−1
- apps/web/app/integrations/[owner]/[slug]/install/page.tsx+121−26
- apps/web/app/integrations/[owner]/[slug]/page.tsx+96−33
- apps/web/app/integrations/actions.test.ts+124−4
- apps/web/app/integrations/actions.ts+53−31
- apps/web/app/integrations/install-form.tsx+239−20
- apps/web/app/integrations/page.tsx+18−6
- apps/web/app/oauth/consent/consent-form.tsx+59−72
- apps/web/app/oauth/consent/page.tsx+47−6
- apps/web/app/settings/layout.tsx+1−1
- apps/web/app/settings/organizations/[slug]/developer/actions.ts+233−73
- apps/web/app/settings/organizations/[slug]/developer/bot-forms.tsx+917−451
- apps/web/app/settings/organizations/[slug]/developer/bots/[id]/page.tsx+55−6
- apps/web/app/settings/organizations/[slug]/developer/bots/[id]/verify/page.tsx+2−2
- apps/web/app/settings/organizations/[slug]/developer/bots/new/page.tsx+14−5
- apps/web/app/settings/organizations/[slug]/developer/credentials.tsx+476−0
- apps/web/app/settings/organizations/[slug]/developer/oauth-forms.tsx+93−79
- apps/web/app/settings/organizations/[slug]/developer/oauth/[id]/page.tsx+8−3
- apps/web/app/settings/organizations/[slug]/developer/oauth/new/page.tsx+1−1
- apps/web/app/settings/organizations/[slug]/developer/page.tsx+36−11
- apps/web/app/sign-in/page.tsx+11−1
- apps/web/components/consent/consent-permissions.tsx+88−0
- apps/web/components/consent/consent-screen.tsx+121−0
- apps/web/components/consent/permission-icons.tsx+18−0
- apps/web/components/oauth-query-error-banner.tsx+26−0
- apps/web/components/sidebar-app-frame.tsx+29−10
- apps/web/db/bot-installations.ts+28−2
- apps/web/db/bots.ts+53−4
- apps/web/db/schema.ts+9−0
- apps/web/drizzle/0060_skinny_morph.sql+1−0
- apps/web/drizzle/0061_rare_onslaught.sql+1−0
- apps/web/drizzle/meta/0060_snapshot.json+11863−0
- apps/web/drizzle/meta/0061_snapshot.json+11870−0
- apps/web/drizzle/meta/_journal.json+14−0
- apps/web/lib/api/v1-openapi.test.ts+1−0
- apps/web/lib/api/v1-openapi.ts+56−0
- apps/web/lib/bots/format.test.ts+46−0
- apps/web/lib/bots/format.ts+58−0
- apps/web/lib/bots/manageable-repos.ts+2−0
- apps/web/lib/bots/reserved-slugs.test.ts+1−1
- apps/web/lib/bots/reserved-slugs.ts+0−1
- apps/web/lib/bots/verification-shared.ts+7−1
- apps/web/lib/bots/verification.test.ts+120−0
- apps/web/lib/bots/verification.ts+30−2
- apps/web/lib/bots/webhook-events.test.ts+69−0
- apps/web/lib/bots/webhook-events.ts+80−0
- apps/web/lib/bots/webhooks.ts+27−15
- apps/web/lib/oauth/client-credentials.test.ts+46−0
- apps/web/lib/oauth/client-credentials.ts+34−0
- apps/web/lib/oauth/clients.ts+8−7
- apps/web/lib/oauth/install-consent-policy.ts+9−0
- apps/web/lib/oauth/install-consent.test.ts+36−0
- apps/web/lib/oauth/install-consent.ts+78−0
- apps/web/lib/oauth/query-error.test.ts+49−0
- apps/web/lib/oauth/query-error.ts+103−0
- apps/web/lib/oauth/redirect-uris.test.ts+97−0
- apps/web/lib/oauth/redirect-uris.ts+53−0
- docs/integrations/README.md+1−1
- docs/integrations/installing.md+31−6
- docs/integrations/oauth.md+15−8
- docs/integrations/publishing.md+32−17
- docs/integrations/sdk.md+7−5
- docs/integrations/tokens.md+24−0
- docs/integrations/webhooks.md+6−1
- docs/openapi.json+95−0
- packages/open-git/src/client.ts+9−0