diff --git a/README.md b/README.md index 96153cb..e4175a0 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ host39 lets individuals and businesses register agent identities and publish A2A ``` GET /moonbakery.com/orders.json # domain identity -GET /personal/john@email.com/card.json # personal identity +GET /personal/john/card.json # personal identity GET /.well-known/ai-catalog.json # all active cards ``` @@ -66,7 +66,7 @@ docker compose up --build | Method | Path | Description | |---|---|---| -| `GET` | `/personal/:email/:slug.json` | Fetch a personal agent card | +| `GET` | `/personal/:handle/:slug.json` | Fetch a personal agent card | | `GET` | `/:domain/:slug.json` | Fetch a domain agent card | | `GET` | `/.well-known/ai-catalog.json` | All active cards | | `GET` | `/health` | Liveness probe | @@ -75,7 +75,7 @@ docker compose up --build ## Identity types -**Personal (email)** — for individuals. Cards are served under `/personal//`. +**Personal (email)** — for individuals. Cards are served under `/personal//`, where `` is the username chosen at registration. **Domain (business)** — for orgs with a domain. Cards are served under `//`. Only one user can register a given domain. diff --git a/web/src/app/dashboard/cards/[id]/page.tsx b/web/src/app/dashboard/cards/[id]/page.tsx index 716c8b8..54b9b86 100644 --- a/web/src/app/dashboard/cards/[id]/page.tsx +++ b/web/src/app/dashboard/cards/[id]/page.tsx @@ -200,8 +200,8 @@ export default function EditCardPage() { description="Update your agent card details." >
- {/* Public URL banner */} - {isPublic ? ( + {/* Public URL banner — only when the card is actually served publicly */} + {isPublic && status === "active" ? (

Public URL @@ -228,8 +228,8 @@ export default function EditCardPage() {

) : (
-

Private

-

This card is not publicly accessible. Enable “Public” below to publish it.

+

Not public

+

This card is not publicly served. Set it to “Public” and “Active” below to publish it.

)} diff --git a/web/src/app/dashboard/page.tsx b/web/src/app/dashboard/page.tsx index e3922f1..f2c86b6 100644 --- a/web/src/app/dashboard/page.tsx +++ b/web/src/app/dashboard/page.tsx @@ -165,18 +165,24 @@ export default function DashboardPage() {

{card.description}

)} - {/* Public URL */} -
- - {publicUrl} - - -
+ {/* Public URL — only shown when the card is actually served publicly */} + {card.is_public && card.status === "active" ? ( +
+ + {publicUrl} + + +
+ ) : ( +

+ Not publicly served — set Public and Active to publish. +

+ )}

Personal / Email

- /personal/john@hotmail.com/card.json + /personal/john/card.json

- Register with your email for personal agent cards — great for developers and individuals. + Register with your email and pick a username — your personal cards live at a clean + handle-based URL. Great for developers and individuals.