@seldonframe/mcp 1.30.0 → 1.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +2 -1
  2. package/src/welcome.js +2 -2
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@seldonframe/mcp",
3
- "version": "1.30.0",
3
+ "version": "1.30.1",
4
+ "description": "MCP server for SeldonFrame — AI-native Business OS platform. v1.30.1: HOTFIX — v1.30.0 build failed on Vercel because the new app/docs/ route collided with an existing app/(public)/docs/ route. Both resolved to /docs. Next.js parallel-routes error halted the build, leaving production stuck on v1.29.1. The old (public)/docs/ was an API reference page (workspaces / secrets / Seldon It / Brain / OpenClaw curl examples) created earlier in the year. The new app/docs/ is the Linear-class user-facing documentation hub. They serve different audiences (developers vs. operators) and overlap in content — but cannot coexist at the same URL. Decision: keep the new Linear-class /docs as the primary surface (operator-facing is the launch priority), delete the old API-reference /docs (content lives on in git history at cb8d3d2 and can be revived as a /docs/api article when docs gets deeper article pages). Also removed the now-orphaned components/docs/api-docs-code-block.tsx + the empty components/docs/ directory. NO behavior change beyond unblocking the build. The new Linear-class /docs route from v1.30.0 ships unchanged. NO migrations, NO new env vars, NO MCP tool changes. @seldonframe/mcp version bumped for SemVer hygiene.",
4
5
  "description": "MCP server for SeldonFrame — AI-native Business OS platform. v1.30.0: LINEAR-CLASS /docs PAGE (CRM-side; MCP package version bumped for SemVer hygiene). The sidebar's 'Docs' link pointed at /docs but the route didn't exist (404). v1.30.0 builds the entire route from scratch as a standalone documentation surface (outside the dashboard route group), modeled on linear.app/docs structure. WHAT SHIPS: (1) NEW app/docs/layout.tsx — standalone shell, no dashboard chrome. Wider max-w-1080px content area, generous py-16 vertical breathing room, sticky top header + collapsible left sidebar + main column. (2) NEW app/docs/docs-header.tsx — Linear-style top bar: SF logo + 'Docs' label on left; centered search input with ⌘K kbd hint; theme toggle + Sign in + Sign up CTA on right. Sticky, backdrop-blurred. Search is non-functional in v1.30.0 (placeholder for v1.30.1 with content indexing). (3) NEW app/docs/docs-sidebar.tsx — collapsible category nav with 8 sections (Getting started / Your business / Customers (CRM) / AI Agents / Pages & website / Email & Automation / Integrations / Billing & plans), 38 article links total. Each category expands/collapses; current page highlighted. Bottom 'meta' nav: Docs / Developers (→ GitHub) / Learn / Contact support (→ Discord). (4) NEW app/docs/page.tsx — homepage with: HERO (4xl/5xl heading + subtitle), POPULAR GRID (4 large cards: 3-minute demo / Build a chatbot / First workspace / Claude Code MCP), QUICK START STEPPER (4 numbered steps with code blocks: install MCP / build workspace / add chatbot / customize from dashboard), CORE CONCEPTS GRID (6 small cards: Soul / Agents / Templates / Workspaces / Customers / Bookings), 6 DETAILED CATEGORY BLOCKS (each is icon + title + 4 link rows in a unified card grid), LEARN section (video tutorials + customer stories), and a final 'Build your first workspace' CTA card with gradient. CRAFT DETAILS: hover lifts on cards (border-primary/30 + bg-accent/20 + icon color shift); arrow icons translate-x on hover; primary-tinted icon backgrounds throughout; tabular spacing; generous whitespace between sections (space-y-16 on hero/section gaps). All article hrefs are anchor placeholders (#chatbot, #workspaces, etc.) for v1.30.0; individual article pages get authored over time without changing nav structure. Sidebar 'Docs' link now actually works (was 404). Compatible with the existing app shell — uses next-themes for dark/light toggle, lucide-react for icons (already-installed deps); no new packages. NO migrations, NO new env vars, NO MCP tool changes. Backend redeploy required. EXPECTED IMPACT: launch-video viewers landing on /docs see a polished Linear-class documentation surface that signals 'this product is real and well-built.' SF clients curious about features can now actually find them organized cleanly. /docs becomes the surface that transforms 'is this real?' into 'I want this.'",
5
6
  "description": "MCP server for SeldonFrame — AI-native Business OS platform. v1.29.1: BODY COPY + EMPTY STATES (LINEAR-CLASS CRAFT) — second pass on the v1.29.0 vocabulary work, focused on per-page polish: typography, empty-state heroes, and the dashboard welcome heading the operator sees the moment they log in. WHAT SHIPS: (1) /landing EMPTY STATE HERO. Was: small 'Create your first landing page — Choose a template to get started' card. Now: full hero card with circular icon ('Layout' in primary tint), 'Build your first page' h2, plain-English subtitle ('Pages live on your public website — landing pages, lead forms, booking flows. Start from a template below or build from scratch.'). Template grid below promoted with hover transitions to primary-tinted icon backgrounds — micro-interaction polish. Header subtitle on /landing/page.tsx itself rewritten from 'Build and publish modular pages with integrated [intake form] and booking sections' to 'Your business's public-facing pages — landing pages, lead capture, booking flows.' (2) /emails HEADER REWORK. Was: a 'sub-header bar' style with Mail icon + counter dot, copying templates-baseui pattern. Now: standard page header (h1 + subtitle), more consistent with the rest of the dashboard. Subtitle: 'Send a one-off message or save a template to reuse for campaigns. [N] emails sent so far.' Counter only shows when > 0. Word renamed 'Emails' → 'Email' (singular like Gmail). (3) /forms STATS GRID HIDDEN WHEN EMPTY. Was: 4-card grid showing 'Total Forms / Active Forms / Draft Forms / Submissions' all with '+0 vs last month' labels even on a brand-new workspace with zero forms (dashboard inflation). Now: stats grid renders only when forms.length > 0; the '+0 vs last month' meaningless labels stripped entirely. Card titles tightened ('Total Forms' → 'Total', 'Active Forms' → 'Published', 'Draft Forms' → 'Draft'). Stat values use tabular-nums for cleaner alignment. (4) /automations SUBTITLE OUTCOME-FOCUSED. Was: 'Build, test, and deploy AI agents for this workspace. Each agent responds to a trigger (form submission, booking, SMS reply, schedule) and runs with your LLM key.' (technical, audience = SF developer). Now: 'Set up rules that run on their own — like sending a follow-up email when a booking comes in, or texting a reminder before a service call. Pick a template below to get started.' (concrete, audience = HVAC operator). Catalog header label 'Agent catalog' → 'Available templates'; 'archetypes' counter renamed to 'templates'. (5) /dashboard WELCOME HEADING POLISH. Was: 'text-lg sm:text-[22px]' with 'This is your calm workspace overview' (vague) for SF builders or 'Here's what's happening at your workspace today' for operators. Now: bigger 'text-xl sm:text-[28px]' tighter-tracking heading (more like Linear's homepage). Subtitle for both audiences rewritten to the concrete 'Here's what's happening at your business today' / 'Here's what's happening across your workspace today.' SF builder CTA 'Create New Client OS' renamed to 'New workspace' (operator-language; the CTA stays SF-builder-only via isOperatorSession gate). All changes are pure copy + CSS — zero new logic, zero new endpoints, zero new MCP tools. NO migrations, NO new env vars. Backend redeploy required. EXPECTED IMPACT: every primary surface in the dashboard now has a warm operator-language header, a hero-style empty state that teaches what the surface is for, and tighter typography. The 5-second test passes for /dashboard, /landing, /emails, /forms, /automations, /agents, /settings — plus the v1.29.0 sidebar work means navigating between them feels coherent.",
6
7
  "description": "MCP server for SeldonFrame — AI-native Business OS platform. v1.29.0: ADMIN DASHBOARD SIMPLIFICATION (CRM-side; MCP package version bumped for SemVer hygiene). The 5-second test: would Cypress Pine HVAC's owner — not a developer, not an SF builder, just an HVAC small business owner — know in 5 seconds what each page is and what they should DO here? v1.28.x and earlier: not consistently. SF-internal jargon ('Soul Marketplace', 'Soul Knowledge', 'Block', 'Soul transfer', 'Soul wiki', 'Frameworks', 'BLOCK.md') leaked into operator-facing copy. Sidebar grouped pages under 'YOUR SOUL' / 'YOUR BLOCKS' which means nothing to operators. Settings page exposed 17 sections in a flat-ish layout where 'Soul Knowledge' sat next to 'Workspace' as if peers. The /soul-marketplace sidebar link was a 404 (actual route is /marketplace). Operators learning the platform had to learn SF-internal vocabulary first, which is friction adoption can't afford at launch. WHAT SHIPS: (1) SIDEBAR REWORK. Three jargon-named groups ('YOUR SOUL' / 'YOUR BLOCKS' / 'SYSTEM') consolidated into two operator-language groups: 'OVERVIEW' (Dashboard) and 'RUN THE BUSINESS' (Customers / Deals / Bookings / Agents / Pages / Email / Forms / Automations / Templates). 'Soul Marketplace' renamed to 'Templates'. Sidebar route fixed: /soul-marketplace → /marketplace (was 404). (2) MARKETPLACE PAGE RENAME. /marketplace header from 'Block Marketplace' → 'Templates'. Subtitle from 'Extend SeldonFrame with new capabilities' → 'Add new pages, integrations, and AI capabilities to your workspace.' Search placeholder 'Search blocks' → 'Search templates'. Submit button 'Submit a Block' → 'Submit a Template'. Zero functional change; pure vocabulary. (3) SETTINGS RESTRUCTURE — 5 PLAIN-ENGLISH BUCKETS. Was: 'Your Business' (7 mixed items including 'Soul Knowledge') + 'Account & Billing' (3 items) + 'Advanced Settings' (collapsed, 7 items). Now: 'Workspace' (4 items: Workspace / Business Profile / Brand & Theme / Team), 'Billing' (3 items: Plan & Subscription / Accept Payments / Custom Domain — repositioned Stripe as the primary 'Accept Payments' card), 'Integrations' (2 items: AI / LLM Provider with status pill / Other Integrations), 'CRM Setup' (5 items: Pipeline Stages / Custom Fields / Customer Portal / Knowledge Base — renamed from 'Soul Knowledge' / Suppression List), 'Developer' (collapsed, 5 items: API Keys / Webhooks / White-label Branding / Industry Packs — renamed from 'Saved Frameworks' / Export / Import — renamed from 'Soul Export / Import'). Each group has a one-line plain-English description. Soul-internal terminology purged from operator-facing copy. (4) /AGENTS EMPTY STATE OPERATOR-FRIENDLY. Was: 'No agents yet. Build one from Claude Code with the SeldonFrame MCP — call build_website_chatbot.' Now: a centered hero card explaining what an AI assistant does ('answers customer questions, books appointments, escalates to your team when it can't help'), with two CTAs: 'How it works' (links to docs) and a collapsible 'Build with Claude Code →' that reveals the actual MCP snippet for developer operators. Non-developer operators see the explanation; developer operators get the one-paste command. Both audiences served. NO migrations, NO new env vars, NO MCP tool changes. Backend redeploy required. EXPECTED IMPACT: launch-video viewers + new operators encountering the dashboard for the first time see operator-language navigation, plain-English settings groups, and welcoming empty states — instead of SF-jargon they have to translate. Conversion friction reduced. The 5-second test passes for every primary surface.",
package/src/welcome.js CHANGED
@@ -8,7 +8,7 @@
8
8
  // stripped. `create_full_workspace` is the only workspace-creation
9
9
  // path mentioned anywhere in this briefing.
10
10
 
11
- export const VERSION = "1.30.0";
11
+ export const VERSION = "1.30.1";
12
12
 
13
13
  export const WELCOME_MARKDOWN = `# SeldonFrame — create a real Business OS in one conversation
14
14
 
@@ -433,4 +433,4 @@ admin dashboard. Pre-fills their email automatically.
433
433
  <https://seldonframe.com> · **Discord:** <https://discord.gg/sbVUu976NW>
434
434
  `;
435
435
 
436
- export const FIRST_CALL_BANNER = `🚀 SeldonFrame v1.30.0 is connected. STEP ZERO: for any workspace task call get_workspace_state({workspace_id}) FIRST — returns workspace identity + integrations status + agents with inline health stats + counts + tailored next_steps in ONE round-trip. Replaces 4-6 progressive discovery calls. ANTI-PATTERNS: don't ls/cat/read .env (SF is hosted, not local files); don't check node/npm versions (irrelevant); don't ask 'is Anthropic key configured?' (state response tells you); don't create a duplicate agent (state response shows existing ones — use update_website_chatbot instead of build_website_chatbot when one exists). Token-budget concept removed in v1.27.9 — ignore stale references. CAPABILITY MAP — pick the right primitive BEFORE exploring tools: (a) "build me a website" → WORKSPACE → create_workspace_v2 + block tools. (b) "add a chatbot to my website / landing page" → AGENT (web chat) → build_website_chatbot (v1.28+ skill bundle: configure_llm + create_agent + publish-test in 1 call; auto-detects ANTHROPIC_API_KEY from env). Drop to primitives (configure_llm_provider + create_agent + publish_agent) only for custom flows. CRITICAL ANTI-PATTERN: chat widgets are NOT blocks. Don't search list_blocks for chat — chat agents are a separate primitive (v1.26+). (c) "auto-reply to inbound SMS/email" → CONVERSATION → send_conversation_turn (one-shot Soul-aware reply, not a website widget). (d) "add hero/services/faq/cta section" → BLOCK → get_block_skill + persist_block. (e) "send campaign email/sms" → MESSAGING. (f) CRM ops → list_contacts/create_deal/etc. CHATBOT CANONICAL FLOW (v1.28+ — 1 call instead of 5): build_website_chatbot({workspace_id, name, faq, pricing_facts, greeting}) → wraps configure_llm + create_agent + publish-test in one call, auto-detects ANTHROPIC_API_KEY from env. Then: operator sandbox-tests at /agents/[id]/test → publish_agent({status:"live"}) auto-runs 8-scenario eval gate (≥87.5% pass required). Observability tools after publish: list_agents, tail_agent_conversations, get_agent_conversation, get_agent_metrics, run_agent_evals, replay_conversation. Dashboard surfaces /agents, /agents/[id]/test, /agents/[id]/settings, /agents/[id]/evals, /agents/[id]/conversations let operators iterate without leaving the browser. WORKSPACE FLOW (legacy reference): create_workspace_v2 → IN PARALLEL for all 7 recommended_blocks (hero, services, about, faq, cta, booking, intake): get_block_skill + persist_block → complete_workspace_v2 → finalize_workspace({workspace_id, email}). Run blocks in PARALLEL (Promise.all) — sequential takes 60+ seconds. v1.10+ CUSTOMIZE: regenerate_block, upload_workspace_image (image_url preferred over base64). v1.11+ STRUCTURAL: get_landing_structure, move_section, delete_section. v1.12+ COMPOSITES: add_composite_section / update_composite_section — manifest ANY block from 12 low-level primitives. Skipping finalize_workspace leaves the operator with no admin login. Every URL is real. NEVER create local files.`;
436
+ export const FIRST_CALL_BANNER = `🚀 SeldonFrame v1.30.1 is connected. STEP ZERO: for any workspace task call get_workspace_state({workspace_id}) FIRST — returns workspace identity + integrations status + agents with inline health stats + counts + tailored next_steps in ONE round-trip. Replaces 4-6 progressive discovery calls. ANTI-PATTERNS: don't ls/cat/read .env (SF is hosted, not local files); don't check node/npm versions (irrelevant); don't ask 'is Anthropic key configured?' (state response tells you); don't create a duplicate agent (state response shows existing ones — use update_website_chatbot instead of build_website_chatbot when one exists). Token-budget concept removed in v1.27.9 — ignore stale references. CAPABILITY MAP — pick the right primitive BEFORE exploring tools: (a) "build me a website" → WORKSPACE → create_workspace_v2 + block tools. (b) "add a chatbot to my website / landing page" → AGENT (web chat) → build_website_chatbot (v1.28+ skill bundle: configure_llm + create_agent + publish-test in 1 call; auto-detects ANTHROPIC_API_KEY from env). Drop to primitives (configure_llm_provider + create_agent + publish_agent) only for custom flows. CRITICAL ANTI-PATTERN: chat widgets are NOT blocks. Don't search list_blocks for chat — chat agents are a separate primitive (v1.26+). (c) "auto-reply to inbound SMS/email" → CONVERSATION → send_conversation_turn (one-shot Soul-aware reply, not a website widget). (d) "add hero/services/faq/cta section" → BLOCK → get_block_skill + persist_block. (e) "send campaign email/sms" → MESSAGING. (f) CRM ops → list_contacts/create_deal/etc. CHATBOT CANONICAL FLOW (v1.28+ — 1 call instead of 5): build_website_chatbot({workspace_id, name, faq, pricing_facts, greeting}) → wraps configure_llm + create_agent + publish-test in one call, auto-detects ANTHROPIC_API_KEY from env. Then: operator sandbox-tests at /agents/[id]/test → publish_agent({status:"live"}) auto-runs 8-scenario eval gate (≥87.5% pass required). Observability tools after publish: list_agents, tail_agent_conversations, get_agent_conversation, get_agent_metrics, run_agent_evals, replay_conversation. Dashboard surfaces /agents, /agents/[id]/test, /agents/[id]/settings, /agents/[id]/evals, /agents/[id]/conversations let operators iterate without leaving the browser. WORKSPACE FLOW (legacy reference): create_workspace_v2 → IN PARALLEL for all 7 recommended_blocks (hero, services, about, faq, cta, booking, intake): get_block_skill + persist_block → complete_workspace_v2 → finalize_workspace({workspace_id, email}). Run blocks in PARALLEL (Promise.all) — sequential takes 60+ seconds. v1.10+ CUSTOMIZE: regenerate_block, upload_workspace_image (image_url preferred over base64). v1.11+ STRUCTURAL: get_landing_structure, move_section, delete_section. v1.12+ COMPOSITES: add_composite_section / update_composite_section — manifest ANY block from 12 low-level primitives. Skipping finalize_workspace leaves the operator with no admin login. Every URL is real. NEVER create local files.`;