feat: user auth, API keys, Stripe billing, and dashboard scoping
- NextAuth v5 credentials auth with registration/login pages - API key CRUD (create, list, revoke) with secure hashing - Stripe checkout, webhooks, and customer portal integration - Rate limiting per subscription tier - All dashboard API endpoints scoped to authenticated user - Prisma schema: User, Account, Session, ApiKey, plus Stripe fields - Auth middleware protecting dashboard and API routes Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-Claude) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -40,7 +40,26 @@ export default function GettingStartedPage() {
|
||||
</a>
|
||||
)
|
||||
</li>
|
||||
<li>An API key for authentication</li>
|
||||
<li>
|
||||
An AgentLens account —{" "}
|
||||
<a
|
||||
href="/register"
|
||||
className="text-emerald-400 hover:underline"
|
||||
>
|
||||
sign up here
|
||||
</a>{" "}
|
||||
if you haven{"'"}t already
|
||||
</li>
|
||||
<li>
|
||||
An API key (create one in{" "}
|
||||
<a
|
||||
href="/dashboard/keys"
|
||||
className="text-emerald-400 hover:underline"
|
||||
>
|
||||
Dashboard → API Keys
|
||||
</a>
|
||||
)
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
@@ -62,6 +81,23 @@ export default function GettingStartedPage() {
|
||||
<h2 className="text-2xl font-semibold mb-4">
|
||||
Step 2: Initialize AgentLens
|
||||
</h2>
|
||||
<p className="text-neutral-400 leading-relaxed mb-4">
|
||||
Sign up at{" "}
|
||||
<a
|
||||
href="https://agentlens.vectry.tech/register"
|
||||
className="text-emerald-400 hover:underline"
|
||||
>
|
||||
agentlens.vectry.tech
|
||||
</a>
|
||||
, then go to{" "}
|
||||
<a
|
||||
href="/dashboard/keys"
|
||||
className="text-emerald-400 hover:underline"
|
||||
>
|
||||
Dashboard → API Keys
|
||||
</a>{" "}
|
||||
to create your key. Pass it to the SDK during initialization:
|
||||
</p>
|
||||
|
||||
<h3 className="text-lg font-medium text-neutral-200 mb-2">Python</h3>
|
||||
<CodeBlock title="main.py" language="python">{`import agentlens
|
||||
|
||||
Reference in New Issue
Block a user