Skip to content

Implement CEP-15 Web Catalog Integration#28

Open
abhayguptas wants to merge 4 commits into
ContextVM:masterfrom
abhayguptas:feature/cep15-integration
Open

Implement CEP-15 Web Catalog Integration#28
abhayguptas wants to merge 4 commits into
ContextVM:masterfrom
abhayguptas:feature/cep15-integration

Conversation

@abhayguptas
Copy link
Copy Markdown

@abhayguptas abhayguptas commented May 18, 2026

This pull request implements the CEP-15 (Common Tool Schemas) integration for the ContextVM website. It introduces a catalog that allows users to discover servers based on the standard tools they implement.

This PR is being built incrementally. The checklist below outlines the implementation phases.

Implementation Plan

  • Phase 1: Data Layer & Core Utilities

    • Implement parsing utilities for i, k, and t tags and _meta.schemaHash.
    • Add Nostr filters for CEP-15 discovery (#k and #i).
    • Create reactive Applesauce models (CatalogSchemasModel) with strict pubkey deduplication.
    • Implement SvelteKit loaders and TanStack Query hooks for isolated data fetching.
  • Phase 2: Catalog UI & Routing

    • Add "Browse Common Schemas" section to the /servers page.
    • Build the /catalog route grouping all schemas.
    • Build the /catalog/[hash] route listing providers for a specific schema.
  • Phase 3: Cross-Navigation & Server Details

    • Render truncated hash badges as backlinks on the server information page.
    • Add inline badges on ToolCallForm.svelte to link back to the catalog.

Testing

The data layer is being verified locally using nak serve alongside the relatr test server to ensure isolated event parsing.

Closes #27

@vercel
Copy link
Copy Markdown

vercel Bot commented May 18, 2026

@abhayguptas is attempting to deploy a commit to the ContextVM's projects Team on Vercel.

A member of the Team first needs to authorize it.

- Add utility functions to extract CEP-15 tags (i, k, t)
- Define nostr filters for common schema discovery
- Implement Applesauce loaders and models to deduplicate and parse kind:11317 events
- Add TanStack query hooks for catalog data fetching

Signed-off-by: Siddhi Gupta <siddhigupta811@gmail.com>
Signed-off-by: Abhay Gupta <abhayakg123@gmail.com>
@abhayguptas abhayguptas force-pushed the feature/cep15-integration branch from a0b1601 to 56ca830 Compare May 18, 2026 15:21
@abhayguptas
Copy link
Copy Markdown
Author

Hi, @gzuuus!

Phase 1 (Data Layer) is complete and pushed.

I have implemented the tag parsing utilities, Nostr filters, timeline loaders, and the Applesauce models for grouping the schemas. The model strictly deduplicates kind:11317 events by pubkey so we only process the latest tools list for each server.

Could you please review the Svelte 5 / Applesauce reactivity patterns in src/lib/models/catalogSchemas.ts and catalogQueries.ts before I begin building the UI in Phase 2? I want to ensure the data flow aligns with the existing architecture.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
contextvm-site Ready Ready Preview, Comment May 20, 2026 3:33pm

@ContextVM-org
Copy link
Copy Markdown
Contributor

Looking great, notice that we are already fetching tool announcements so check out we are not refetching them for this case

- Add 'Browse Common Schemas' CTA button on servers page
- Create root /catalog route to list all discovered common schemas
- Create /catalog/[hash] detail route to list providers for specific schemas
- Implement search filtering for schema names and categories

Signed-off-by: Abhay Gupta <abhayakg123@gmail.com>
- Parse common schema NIP-73 tags directly from announcement payload

- Inject schema hash badges inline in tool form headers

- Provide seamless routing back to the catalog provider list

Signed-off-by: Siddhi Gupta <siddhigupta811@gmail.com>
@abhayguptas abhayguptas force-pushed the feature/cep15-integration branch from 7476374 to 4ac9c0b Compare May 20, 2026 10:58
…oss-navigation

Signed-off-by: Abhay Gupta <abhayakg123@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CEP-15 web feature

2 participants