import { S as SeededHostConfigInput } from '../../empty-input-B9KwG3Aa.js'; export { D as DEFAULT_HOST_STYLE_V2, a as DEFAULT_REQUEST_TIMEOUT_MS, e as emptyHostConfigInputV2 } from '../../empty-input-B9KwG3Aa.js'; import '../../types-HXAijHji.js'; /** * Node-safe host-template seeds for built-in MCPJam host presets. * * Historical origin: this was ported from the old inspector client template * adapter. It now remains in the SDK for CLI/dev fallback paths; normal product * host creation reads the backend-owned host catalog instead. * * Two deliberate edits vs the client source: the Vite `__APP_VERSION__` * The old Vite `__APP_VERSION__` constant is parametrized as * `opts.appVersion`, and UI `logoSrc` metadata is kept client-side. */ type HostThemeMode = "light" | "dark"; /** * Canonical list of built-in host-template ids — the single source of truth * reused by the SDK platform `create_host` operation, the server v1 route's * request validator, and the CLI `hosts templates` lister. Adding/removing a * template here keeps all three in lockstep (no per-layer enum to drift). */ declare const HOST_TEMPLATE_IDS: readonly ["mcpjam", "claude", "claude-code", "chatgpt", "mistral", "goose", "slack", "cursor", "codex", "copilot", "vscode", "agentcore", "n8n", "perplexity", "cline", "notion"]; type HostTemplateId = (typeof HOST_TEMPLATE_IDS)[number]; interface SeedHostTemplateOptions { /** * Theme stamped into `hostContext.theme` (and for the MCPJam template, * threaded into `getMcpJamStyleVariables`) at creation time. Callers at * the host-creation seam pass MCPJam's current global `themeMode` so a * newly-created host opens matching the rest of the app instead of * defaulting to dark. Omitting it preserves the legacy "always dark" * behavior for callers that snapshot template defaults onto already- * existing surfaces (see `applyHostStyleToHostConfigInput`, * `applyHostDefaultsToPlayground`) where flipping to MCPJam's theme on * every brand-pill click would be a surprise. * * Codex currently pins dark, matching the backend catalog's probed host * row. Keep this option for callers that stamp other host templates. */ theme?: HostThemeMode; /** * Version stamped into the mcpjam template's mcpProfile clientInfo/ * hostInfo. The server passes its package version; the client passes the * Vite `__APP_VERSION__`. Only the mcpjam template reads it. */ appVersion?: string; } interface HostTemplate { id: HostTemplateId; label: string; description: string; seed: (opts?: SeedHostTemplateOptions) => SeededHostConfigInput; } /** * Claude Code's native (non-MCP) tool surface, captured from a live * v2.1.176 session. These are the CLI's own harness tools — they never * cross the MCP wire, so they don't belong in `clientCapabilities`, and * no current host-config field can carry them (`builtInToolIds` is * validated against the backend built-in tool catalog; `computer` is the * Project Computers resource). Recorded verbatim so a future * computer-use / host-native-toolset feature can seed an honest Claude * Code environment instead of guessing. These are NOT wired into * `builtInToolIds` — when the "claude-code" template runs under * `harness: "claude-code"`, the real Claude Code runtime provides them from * inside the sandbox; this catalogue is documentation of that surface. */ declare const CLAUDE_CODE_NATIVE_TOOLS: { /** Always loaded at session start. */ readonly topLevel: readonly [{ readonly name: "Agent"; readonly description: "launch subagents"; }, { readonly name: "AskUserQuestion"; readonly description: "ask the user a multiple-choice question"; }, { readonly name: "Bash"; readonly description: "run shell commands"; }, { readonly name: "Edit"; readonly description: "exact string replacement in a file"; }, { readonly name: "Read"; readonly description: "read files (text, images, PDFs, notebooks)"; }, { readonly name: "ScheduleWakeup"; readonly description: "schedule a /loop resume"; }, { readonly name: "ShareOnboardingGuide"; readonly description: "upload/share ONBOARDING.md"; }, { readonly name: "Skill"; readonly description: "invoke a skill"; }, { readonly name: "ToolSearch"; readonly description: "fetch schemas for deferred tools"; }, { readonly name: "Workflow"; readonly description: "run a multi-agent orchestration script"; }, { readonly name: "Write"; readonly description: "write/overwrite a file"; }]; /** * Deferred: names are known up front, but schemas must be loaded via * ToolSearch before calling. */ readonly deferred: { readonly taskManagement: readonly ["TaskCreate", "TaskGet", "TaskList", "TaskOutput", "TaskStop", "TaskUpdate", "Monitor"]; readonly cronSchedulingTriggers: readonly ["CronCreate", "CronDelete", "CronList", "RemoteTrigger", "PushNotification"]; readonly planWorktreeMode: readonly ["EnterPlanMode", "ExitPlanMode", "EnterWorktree", "ExitWorktree", "DesignSync"]; readonly filesWeb: readonly ["NotebookEdit", "WebFetch", "WebSearch"]; readonly mcpGeneric: readonly ["ListMcpResourcesTool", "ReadMcpResourceTool"]; }; }; declare const HOST_TEMPLATES: readonly HostTemplate[]; declare const DEFAULT_HOST_TEMPLATE_ID: HostTemplateId; declare function seedFromHostTemplate(id: HostTemplateId, opts?: SeedHostTemplateOptions): SeededHostConfigInput; declare const seedHostTemplate: typeof seedFromHostTemplate; /** * MCPJam host context — the inspector's own house chrome (Node-safe copy). * * Verbatim port of the style-variable maps from the inspector client's * `client/src/config/mcpjam-client-context.ts`. Lives in the SDK so the * host-template seeds (`seed-host-template.ts`) can run in Node (the server's * `--template` resolver) without importing browser-only client modules. The * client re-exports `getMcpJamStyleVariables` / `MCPJAM_FONT_CSS` / * `MCPJAM_PLATFORM` from here so there is a single source of truth; the * client keeps `MCPJAM_CHAT_BACKGROUND` (not needed by seeding) local. * * Values mirror `design-system/src/tokens.css` (the `@mcpjam/design-system` * package). Keep this in sync with the design system the same way the client * module did. */ declare const MCPJAM_PLATFORM: "web"; declare function getMcpJamStyleVariables(theme: "light" | "dark"): Record; declare const MCPJAM_FONT_CSS = ""; /** * Mistral (Le Chat) host style variables — Node-safe copy. * * Verbatim port of `getMistralStyleVariables` + its var map from the inspector * client's `client/src/config/mistral-client-context.ts`, so the mistral * host-template seed can run in Node. The client re-exports * `getMistralStyleVariables` from here for a single source of truth. * * Dark values are captured from Le Chat's * `ui/notifications/host-context-changed` payload on 2026-06-16. Light values * mirror the same semantic slots so Mistral hosts follow MCPJam's global theme * like the other built-in hosts. */ declare function getMistralStyleVariables(theme: "light" | "dark"): Record; /** * Visual Studio Code 1.130.0 resolved MCP Apps style variables. * * Captured from live light and dark `ui/initialize` host contexts on * 2026-07-23. VS Code sends `var(--vscode-...)` references; these are the * browser-resolved values so MCPJam can reproduce the host outside VS Code. */ declare function getVscodeStyleVariables(theme: "light" | "dark"): Record; /** * Goose Desktop host context — Node-safe copy. * * Captured from Goose Desktop 1.38.0 on 2026-06-19. Goose renders MCP Apps * through `ui/initialize`, advertises the MCP UI extension at the base MCP * layer, and sends a Cash Sans themed HostContext. The raw hostContext * variables use CSS `light-dark()`, but MCPJam's own host chrome needs * concrete values so it does not depend on ambient `color-scheme`. */ declare const GOOSE_PLATFORM: "desktop"; declare function getGooseStyleVariables(theme: "light" | "dark"): Record; declare const GOOSE_FONT_CSS = "\n@font-face {\n font-family: 'Cash Sans';\n src: url(https://cash-f.squarecdn.com/static/fonts/cashsans/woff2/CashSans-Light.woff2) format('woff2'),\n url(https://cash-f.squarecdn.com/static/fonts/cashsans/woff/CashSans-Light.woff) format('woff');\n font-weight: 300;\n font-style: normal;\n}\n@font-face {\n font-family: 'Cash Sans';\n src: url(https://cash-f.squarecdn.com/static/fonts/cashsans/woff2/CashSans-Regular.woff2) format('woff2'),\n url(https://cash-f.squarecdn.com/static/fonts/cashsans/woff/CashSans-Regular.woff) format('woff');\n font-weight: 400;\n font-style: normal;\n}\n@font-face {\n font-family: 'Cash Sans';\n src: url(https://cash-f.squarecdn.com/static/fonts/cashsans/woff2/CashSans-Medium.woff2) format('woff2'),\n url(https://cash-f.squarecdn.com/static/fonts/cashsans/woff/CashSans-Medium.woff) format('woff');\n font-weight: 500;\n font-style: normal;\n}\n@font-face {\n font-family: 'Cash Sans';\n src: url(https://cash-f.squarecdn.com/static/fonts/cashsans/woff2/CashSans-Bold.woff2) format('woff2'),\n url(https://cash-f.squarecdn.com/static/fonts/cashsans/woff/CashSans-Bold.woff) format('woff');\n font-weight: 700;\n font-style: normal;\n}\n"; declare function getSlackStyleVariables(theme: "light" | "dark"): Record; declare const SLACK_FONT_CSS = "body { font-family: \"Slack-Lato\", \"Slack-Fractions\", \"appleLogo\", sans-serif; }"; declare const SLACK_PLATFORM: "web"; export { CLAUDE_CODE_NATIVE_TOOLS, DEFAULT_HOST_TEMPLATE_ID, GOOSE_FONT_CSS, GOOSE_PLATFORM, HOST_TEMPLATES, HOST_TEMPLATE_IDS, type HostTemplate, type HostTemplateId, MCPJAM_FONT_CSS, MCPJAM_PLATFORM, SLACK_FONT_CSS, SLACK_PLATFORM, type SeedHostTemplateOptions, SeededHostConfigInput, getGooseStyleVariables, getMcpJamStyleVariables, getMistralStyleVariables, getSlackStyleVariables, getVscodeStyleVariables, seedFromHostTemplate, seedHostTemplate };