@seldonframe/mcp 1.55.0 → 1.56.0
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.
- package/package.json +1 -1
- package/src/finalize-summary.js +49 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seldonframe/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.56.0",
|
|
4
4
|
"mcpName": "io.github.seldonframe/seldonframe-mcp",
|
|
5
5
|
"description": "Open-source GoHighLevel alternative for agencies. 146+ MCP tools that let Claude Code spin up white-labeled client workspaces — CRM, booking, intake forms, landing pages, AI chatbot, and pre-wired agent archetypes (speed-to-lead, missed-call-text-back, review-requester) — in minutes. AGPL-3.0.",
|
|
6
6
|
"license": "AGPL-3.0-or-later",
|
package/src/finalize-summary.js
CHANGED
|
@@ -95,6 +95,55 @@ export function buildFinalizeSummary({ snapshot, durationSec, aestheticArchetype
|
|
|
95
95
|
);
|
|
96
96
|
lines.push("");
|
|
97
97
|
|
|
98
|
+
// v1.55.x — derive appHost for the LLM-settings + client-portal links.
|
|
99
|
+
// SELDONFRAME_APP_BASE wins when set (white-label/staging); falls back
|
|
100
|
+
// to https://app.seldonframe.com. Trailing slash stripped to match the
|
|
101
|
+
// pattern used by v2/complete when building ops_stack.automations_url.
|
|
102
|
+
const appHost = (
|
|
103
|
+
process.env.SELDONFRAME_APP_BASE ?? "https://app.seldonframe.com"
|
|
104
|
+
).replace(/\/$/, "");
|
|
105
|
+
|
|
106
|
+
// LLM key clarity — operators kept asking "which key is the chatbot
|
|
107
|
+
// using?" + had no recovery path when llm_credit_exhausted fired.
|
|
108
|
+
lines.push(
|
|
109
|
+
`🔑 Chatbot LLM key: uses your Claude Code key by default. Change at ${appHost}/settings/integrations/llm.`,
|
|
110
|
+
);
|
|
111
|
+
lines.push(
|
|
112
|
+
` (If you see "llm_credit_exhausted", top up at console.anthropic.com/settings/billing.)`,
|
|
113
|
+
);
|
|
114
|
+
lines.push("");
|
|
115
|
+
|
|
116
|
+
// v1.55.x — Client portal demo callout. Closes the demo loop:
|
|
117
|
+
// chatbot (above) → booking → CRM → portal demo for the client.
|
|
118
|
+
// Slug is required; skip gracefully if absent (shouldn't happen in
|
|
119
|
+
// practice but the snapshot can theoretically lack it).
|
|
120
|
+
//
|
|
121
|
+
// The /demo URL is a one-click deep link: workspace creation seeds
|
|
122
|
+
// a "Demo Customer" contact + sample upcoming appointment + welcome
|
|
123
|
+
// message, and visiting /customer/<slug>/demo auto-establishes a
|
|
124
|
+
// portal session for that contact — no email, no magic link. The
|
|
125
|
+
// operator can paste this URL to a prospect and they land directly
|
|
126
|
+
// in a populated portal instead of a magic-link form with empty
|
|
127
|
+
// tabs. Demo data is filtered out of operator-facing CRM / pipeline
|
|
128
|
+
// / analytics by tag, so it stays isolated from real customer data.
|
|
129
|
+
const slug = ws.slug ?? "";
|
|
130
|
+
if (slug) {
|
|
131
|
+
const portalUrl = `${appHost}/customer/${slug}/demo`;
|
|
132
|
+
lines.push(`🎬 Demo the client portal (one-click, no login):`);
|
|
133
|
+
lines.push(` ${portalUrl}`);
|
|
134
|
+
lines.push(
|
|
135
|
+
` Share this link with the prospect — opens directly as "Demo Customer" with a`,
|
|
136
|
+
);
|
|
137
|
+
lines.push(
|
|
138
|
+
` sample appointment and welcome message. Demo data stays isolated from your`,
|
|
139
|
+
);
|
|
140
|
+
lines.push(` real CRM and pipelines.`);
|
|
141
|
+
lines.push(
|
|
142
|
+
` Free tier shows the portal with SeldonFrame branding. Growth ($29/mo) unlocks custom domain + the agency's logo.`,
|
|
143
|
+
);
|
|
144
|
+
lines.push("");
|
|
145
|
+
}
|
|
146
|
+
|
|
98
147
|
// Landing-page nudge (closing)
|
|
99
148
|
const archetypeClause = aestheticArchetype ? ` in ${aestheticArchetype} style` : "";
|
|
100
149
|
lines.push(
|