station-v0.22 · modules system (Modules tab + HubSpot module + hot-reload)
What's new
Modules system (major)
- Studio Modules sidebar tab — new management surface at
#/modules. Cards for every loaded module show publisher fingerprint, version, description, registered commands as chips, file path. Per-module Uninstall; global Reload All. Rejected modules render in a red section with the loader's exact rejection reason. - Hot-reload without restart —
/api/modules/reloadre-verifies signatures and re-registers commands live.railcall market install <module>no longer needs a Studio restart. - Sidebar badge — Modules tab shows installed-module count.
First real CRM module: railcall/hubspot
- Installable from marketplace:
railcall market install sami666/hubspot - Two commands:
hubspot.create_contact+hubspot.log_note - Auth: HubSpot Private App bearer token (one vault entry, both commands)
- HubSpot v3 CRM API + association type 202 for note↔contact linkage
- Reference implementation for third-party CRM modules
Marketplace fixes
- Publish DTO now accepts
listing_type=module(previously the DTO gate blocked at 400 before payload validation) - Two new categories:
CRMandModules - Reviews eligibility API (
/listings/:slug/reviews/eligibility) — free installs (amount=0) still unlock reviews - Ratings on public seller profile: per-listing + overall
Listing.idrefactored to opaque cuid; human-readableListing.slugnow owns the URL path
Also in this cut
- Marketplace catch-all route
[...slug]on railcall.ai so namespaced slugs (sami666/hubspot) route without URL-encoding - Marketplace browse in Studio: creator/curated/modules sections with trust badges
- Programs → Workflows rename across UI
- Publish button in Workflows with preflight (missing seller profile / unregistered pubkey / no session all surfaced before submit)
- Reviews section on listing detail page
- Ratings-aware seller profile page
SHA256
15ef73f16071c2f543ea9d43fe7bfa354d4bb07dbb860bff231e42cd18659286
Install
curl -fsSL https://railcall.ai/install.sh | bash
Existing installs
railcall update