@botuyo/mcp 0.2.14 → 0.2.15

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.
@@ -3,45 +3,39 @@ export declare const EXAMPLE_AGENT_TOOL: Tool;
3
3
  export declare function exampleAgentHandler(): Promise<{
4
4
  success: boolean;
5
5
  data: {
6
- _comment: string;
7
6
  name: string;
7
+ _name_doc: string;
8
8
  identity: {
9
9
  tone: string;
10
10
  language: string;
11
11
  objective: string;
12
12
  customInstructions: string;
13
13
  };
14
- stages: ({
15
- id: string;
16
- name: string;
17
- type: string;
18
- instruction: string;
19
- tools: never[];
20
- _types: string;
21
- _note?: undefined;
22
- } | {
14
+ _identity_doc: {
15
+ tone: string;
16
+ language: string;
17
+ objective: string;
18
+ customInstructions: string;
19
+ };
20
+ stages: {
23
21
  id: string;
24
22
  name: string;
25
23
  type: string;
26
24
  instruction: string;
27
25
  tools: string[];
28
- _note: string;
29
- _types?: undefined;
30
- } | {
26
+ }[];
27
+ _stages_doc: {
31
28
  id: string;
32
29
  name: string;
33
30
  type: string;
34
31
  instruction: string;
35
- tools: string[];
36
- _types?: undefined;
37
- _note?: undefined;
38
- })[];
32
+ tools: string;
33
+ };
39
34
  connections: ({
40
35
  id: string;
41
36
  from: string;
42
37
  to: string;
43
38
  type: string;
44
- _note: string;
45
39
  condition?: undefined;
46
40
  } | {
47
41
  id: string;
@@ -49,15 +43,14 @@ export declare function exampleAgentHandler(): Promise<{
49
43
  to: string;
50
44
  type: string;
51
45
  condition: string;
52
- _note: string;
53
- } | {
46
+ })[];
47
+ _connections_doc: {
54
48
  id: string;
55
49
  from: string;
56
50
  to: string;
57
51
  type: string;
58
52
  condition: string;
59
- _note?: undefined;
60
- })[];
53
+ };
61
54
  channelFlows: {
62
55
  phone: {
63
56
  connections: ({
@@ -73,74 +66,130 @@ export declare function exampleAgentHandler(): Promise<{
73
66
  type: string;
74
67
  condition: string;
75
68
  })[];
76
- _note: string;
77
- };
78
- whatsapp: {
79
- connections: ({
80
- id: string;
81
- from: string;
82
- to: string;
83
- type: string;
84
- condition?: undefined;
85
- } | {
86
- id: string;
87
- from: string;
88
- to: string;
89
- type: string;
90
- condition: string;
91
- })[];
92
- _note: string;
93
69
  };
94
70
  };
71
+ _channelFlows_doc: string;
95
72
  enabledTools: string[];
96
- _enabledToolsNote: string;
73
+ _enabledTools_doc: string;
97
74
  channels: string[];
98
- _channelsNote: string;
75
+ _channels_doc: string;
99
76
  widgetConfig: {
77
+ welcomeMessage: string;
78
+ placeholder: string;
79
+ position: string;
80
+ headerText: string;
81
+ starterPrompt: string;
82
+ defaultLocale: string;
83
+ avatarScale: number;
84
+ showPromptAvatar: boolean;
85
+ avatar3dUrl: string;
100
86
  cssVariables: {
101
87
  primary: string;
102
- 'primary-foreground': string;
88
+ primaryForeground: string;
103
89
  background: string;
104
90
  foreground: string;
91
+ card: string;
92
+ cardForeground: string;
105
93
  muted: string;
106
- 'muted-foreground': string;
107
- accent: string;
108
- 'accent-foreground': string;
94
+ mutedForeground: string;
109
95
  border: string;
110
- ring: string;
111
- 'chat-bubble-user': string;
112
- 'chat-bubble-user-foreground': string;
113
- 'chat-bubble-bot': string;
114
- 'chat-bubble-bot-foreground': string;
96
+ destructive: string;
115
97
  radius: string;
116
- _note: string;
98
+ windowBorderRadius: string;
99
+ launcherBorderRadius: string;
100
+ windowHeight: string;
101
+ windowBottom: string;
102
+ spacing1: string;
103
+ spacing2: string;
104
+ spacing3: string;
105
+ spacing4: string;
106
+ spacing5: string;
107
+ spacing6: string;
108
+ spacing7: string;
109
+ spacing8: string;
110
+ };
111
+ darkCssVariables: {
112
+ background: string;
113
+ foreground: string;
114
+ card: string;
115
+ cardForeground: string;
116
+ muted: string;
117
+ mutedForeground: string;
118
+ border: string;
119
+ destructive: string;
120
+ };
121
+ animations: {
122
+ enabled: boolean;
123
+ messageEntry: string;
124
+ typingIndicator: string;
125
+ buttonEffects: boolean;
126
+ smoothScroll: boolean;
127
+ windowTransitions: boolean;
128
+ launcherPulse: boolean;
129
+ speedMultiplier: number;
130
+ staggerDelay: number;
131
+ };
132
+ effects: {
133
+ glassmorphism: boolean;
134
+ gradients: boolean;
135
+ softShadows: boolean;
136
+ glowEffects: boolean;
137
+ shimmerLoading: boolean;
138
+ hoverLift: boolean;
139
+ particles: boolean;
140
+ soundEffects: boolean;
141
+ hapticFeedback: boolean;
142
+ };
143
+ };
144
+ _widgetConfig_doc: {
145
+ cssVariables: string;
146
+ darkCssVariables: string;
147
+ avatar3dUrl: string;
148
+ avatarScale: string;
149
+ showPromptAvatar: string;
150
+ defaultLocale: string;
151
+ starterPrompt: string;
152
+ animations: {
153
+ enabled: string;
154
+ messageEntry: string;
155
+ typingIndicator: string;
156
+ speedMultiplier: string;
157
+ staggerDelay: string;
158
+ };
159
+ effects: {
160
+ glassmorphism: string;
161
+ gradients: string;
162
+ particles: string;
163
+ soundEffects: string;
164
+ hapticFeedback: string;
117
165
  };
118
- welcomeMessage: string;
119
- placeholder: string;
120
- position: string;
121
166
  };
122
167
  voice: {
123
168
  profile: string;
124
169
  widgetCallEnabled: boolean;
125
- _note: string;
170
+ };
171
+ _voice_doc: {
172
+ profile: string;
173
+ widgetCallEnabled: string;
174
+ _adminOnly: string;
126
175
  };
127
176
  channelPrompts: {
128
177
  whatsapp: string;
129
178
  phone: string;
130
- _note: string;
131
179
  };
180
+ _channelPrompts_doc: string;
132
181
  knowledgeDocumentIds: string[];
133
- _knowledgeNote: string;
182
+ _knowledgeDocumentIds_doc: string;
134
183
  _readOnlyFields: {
135
184
  apiKey: string;
136
- _note: string;
185
+ _doc: string;
137
186
  };
138
187
  _adminOnlyFields: {
139
188
  model: string;
140
189
  temperature: number;
141
190
  summaryThreshold: number;
142
191
  'voice.liveModel': string;
143
- _note: string;
192
+ _doc: string;
144
193
  };
145
194
  };
146
195
  message: string;
@@ -3,12 +3,13 @@ export const EXAMPLE_AGENT_TOOL = {
3
3
  description: `Returns a complete, documented example of an agent configuration JSON with ALL possible fields explained.
4
4
 
5
5
  Use this as a reference when creating or editing agents. Every field includes a description of what it does,
6
- its type, and valid values. This is a read-only reference tool — it doesn't create or modify anything.
6
+ its type, valid values, and conditions. This is a read-only reference tool — it doesn't create or modify anything.
7
7
 
8
8
  Useful for:
9
9
  - New users learning the agent config structure
10
10
  - Checking available fields before using import_agent_json
11
- - Understanding how stages, connections, channelFlows, and tools work together`,
11
+ - Understanding how stages, connections, channelFlows, and tools work together
12
+ - Learning the widget theming system (cssVariables, darkCssVariables, animations, effects)`,
12
13
  inputSchema: {
13
14
  type: 'object',
14
15
  properties: {},
@@ -16,95 +17,92 @@ Useful for:
16
17
  }
17
18
  };
18
19
  export async function exampleAgentHandler() {
19
- const example = {
20
- _comment: 'This is a complete reference of all agent configuration fields. Use export_agent_json to get your real config, edit it, and import_agent_json to apply.',
20
+ const reference = {
21
+ // ═══════════════════════════════════════════════════════════════════
22
+ // AGENT CONFIGURATION REFERENCE
23
+ // All fields documented with types, valid values, and conditions.
24
+ // Use export_agent_json → edit → import_agent_json workflow.
25
+ // ═══════════════════════════════════════════════════════════════════
26
+ // ─── CORE IDENTITY ─────────────────────────────────────────────
21
27
  name: 'Mi Agente de Ejemplo',
28
+ _name_doc: 'Required. String. Display name shown in widget header and admin panel.',
22
29
  identity: {
23
30
  tone: 'Amigable, profesional y empático. Usá un tono cercano pero respetuoso.',
24
31
  language: 'es-AR',
25
32
  objective: 'Asistir a los usuarios con consultas sobre productos, reservas y soporte general.',
26
33
  customInstructions: 'Instrucciones adicionales libres. Pueden incluir reglas de negocio, restricciones, o comportamiento especial.'
27
34
  },
35
+ _identity_doc: {
36
+ tone: 'Optional. String. Personality/voice of the agent. Included in every system prompt.',
37
+ language: 'Required. String. BCP-47 locale (es-AR, en-US, pt-BR, etc.). Controls response language.',
38
+ objective: 'Optional. String. High-level goal. Helps the LLM stay on-topic.',
39
+ customInstructions: 'Optional. String. Free-form rules injected into system prompt. Can include markdown, lists, etc.'
40
+ },
41
+ // ─── CONVERSATIONAL FLOW (STAGES + CONNECTIONS) ────────────────
28
42
  stages: [
29
43
  {
30
44
  id: 'greeting',
31
45
  name: 'Saludo Inicial',
32
46
  type: 'start',
33
- instruction: 'Saludá al usuario de forma cálida y preguntale en qué lo podés ayudar. Si ya hay historial, no repitas el saludo.',
34
- tools: [],
35
- _types: 'type can be: start, action, router, end. Only 1 start allowed.'
47
+ instruction: 'Saludá al usuario de forma cálida y preguntale en qué lo podés ayudar.',
48
+ tools: []
36
49
  },
37
50
  {
38
51
  id: 'guest_discovery',
39
52
  name: 'Descubrimiento',
40
53
  type: 'action',
41
- instruction: 'Hacé preguntas para entender las necesidades del usuario: qué busca, fechas, presupuesto, etc.',
42
- tools: ['search_accommodations', 'search_knowledge_base'],
43
- _note: 'tools[] lists tool IDs available in THIS stage. They must also be in enabledTools[].'
54
+ instruction: 'Hacé preguntas para entender las necesidades del usuario.',
55
+ tools: ['search_accommodations', 'search_knowledge_base']
44
56
  },
45
57
  {
46
58
  id: 'guest_booking',
47
59
  name: 'Reserva',
48
60
  type: 'action',
49
- instruction: 'Guiá al usuario por el proceso de reserva. Mostrá opciones de pago y confirmá los datos.',
61
+ instruction: 'Guiá al usuario por el proceso de reserva.',
50
62
  tools: ['create_pre_reservation', 'get_accommodation_details']
51
63
  },
52
64
  {
53
65
  id: 'farewell',
54
66
  name: 'Despedida',
55
67
  type: 'end',
56
- instruction: 'Despedite amablemente. Agradecé la conversación y ofrecé ayuda futura.',
68
+ instruction: 'Despedite amablemente.',
57
69
  tools: []
58
70
  }
59
71
  ],
72
+ _stages_doc: {
73
+ id: 'Required. Unique string identifier. Referenced by connections.',
74
+ name: 'Optional. Human-readable label for admin UI.',
75
+ type: 'Required. One of: "start" (exactly 1), "action" (unlimited), "router" (decision point), "end" (at least 1).',
76
+ instruction: 'Required. System prompt for this stage. The LLM follows this when the stage is active.',
77
+ tools: 'Optional. Array of tool IDs available in THIS stage. Must be a subset of enabledTools[].'
78
+ },
60
79
  connections: [
61
- {
62
- id: 'c1',
63
- from: 'greeting',
64
- to: 'guest_discovery',
65
- type: 'default',
66
- _note: 'Default connections always transition. No condition needed.'
67
- },
68
- {
69
- id: 'c2',
70
- from: 'guest_discovery',
71
- to: 'guest_booking',
72
- type: 'conditional',
73
- condition: 'El usuario expresó interés en reservar una opción específica',
74
- _note: 'Conditional connections: the LLM evaluates the condition to decide if to transition.'
75
- },
76
- {
77
- id: 'c3',
78
- from: 'guest_booking',
79
- to: 'farewell',
80
- type: 'conditional',
81
- condition: 'La reserva fue completada exitosamente o el usuario quiere terminar'
82
- },
83
- {
84
- id: 'c_disc_farewell',
85
- from: 'guest_discovery',
86
- to: 'farewell',
87
- type: 'conditional',
88
- condition: 'El usuario quiere despedirse sin reservar'
89
- }
80
+ { id: 'c1', from: 'greeting', to: 'guest_discovery', type: 'default' },
81
+ { id: 'c2', from: 'guest_discovery', to: 'guest_booking', type: 'conditional', condition: 'El usuario quiere reservar' },
82
+ { id: 'c3', from: 'guest_booking', to: 'farewell', type: 'conditional', condition: 'Reserva completada' },
83
+ { id: 'c4', from: 'guest_discovery', to: 'farewell', type: 'conditional', condition: 'El usuario quiere despedirse' }
90
84
  ],
85
+ _connections_doc: {
86
+ id: 'Required. Unique string identifier.',
87
+ from: 'Required. Stage ID where the edge originates.',
88
+ to: 'Required. Stage ID where the edge points.',
89
+ type: '"default" = always transitions (no AI evaluation). "conditional" = LLM evaluates the condition string.',
90
+ condition: 'Required for "conditional" type. Natural language evaluated by the LLM to decide if to transition.'
91
+ },
92
+ // ─── CHANNEL FLOWS (Per-Channel Overrides) ─────────────────────
91
93
  channelFlows: {
92
94
  phone: {
93
95
  connections: [
94
96
  { id: 'phone_c1', from: 'greeting', to: 'guest_discovery', type: 'default' },
95
97
  { id: 'phone_c2', from: 'guest_discovery', to: 'farewell', type: 'conditional', condition: 'El usuario quiere terminar' }
96
- ],
97
- _note: 'ChannelFlows override the default connections for a specific channel. Here, phone skips booking (tools not phone-compatible).'
98
- },
99
- whatsapp: {
100
- connections: [
101
- { id: 'wa_c1', from: 'greeting', to: 'guest_discovery', type: 'default' },
102
- { id: 'wa_c2', from: 'guest_discovery', to: 'guest_booking', type: 'conditional', condition: 'Quiere reservar' },
103
- { id: 'wa_c3', from: 'guest_booking', to: 'farewell', type: 'conditional', condition: 'Reserva completada' }
104
- ],
105
- _note: 'If a channel is NOT in channelFlows, it uses the default connections array.'
98
+ ]
106
99
  }
107
100
  },
101
+ _channelFlows_doc: 'Optional. Object keyed by channel name. Each overrides the default connections[] for that channel. ' +
102
+ 'Use this when a channel has different flow paths (e.g. phone skips booking because tools like create_pre_reservation are text-only). ' +
103
+ 'If a channel is NOT listed here, it uses the default connections array. ' +
104
+ 'Runtime filters tools per-channel automatically, so text-only tools simply won\'t load on phone.',
105
+ // ─── TOOLS & CHANNELS ──────────────────────────────────────────
108
106
  enabledTools: [
109
107
  'search_accommodations',
110
108
  'get_accommodation_details',
@@ -113,60 +111,156 @@ export async function exampleAgentHandler() {
113
111
  'identify_user_context',
114
112
  'update_user_profile'
115
113
  ],
116
- _enabledToolsNote: 'All tools the agent can use across all stages. Per-stage tools[] must be a subset of this. Use list_available_tools to see all options.',
114
+ _enabledTools_doc: 'Array of tool IDs the agent can use. Per-stage tools[] must be a subset. ' +
115
+ 'Use list_available_tools to see all options with descriptions. ' +
116
+ 'Tools auto-sync: any tool referenced in a stage.tools[] is automatically added to enabledTools on save.',
117
117
  channels: ['web', 'whatsapp', 'phone'],
118
- _channelsNote: 'Valid channels: web, whatsapp, telegram, discord, instagram, phone. Runtime filters tools by channel compatibility.',
118
+ _channels_doc: 'Array of channels the agent is published on. Valid: "web", "whatsapp", "telegram", "discord", "instagram", "phone". ' +
119
+ 'Runtime filters tools by channel compatibility — text-only tools (e.g. create_pre_reservation) won\'t load on phone. ' +
120
+ 'You can have phone + text-only tools as long as your channelFlows.phone never reaches stages with those tools.',
121
+ // ─── WIDGET CONFIGURATION ──────────────────────────────────────
119
122
  widgetConfig: {
123
+ // -- Appearance --
124
+ welcomeMessage: '¡Hola! 👋 Soy tu asistente virtual. ¿En qué puedo ayudarte?',
125
+ placeholder: 'Escribí tu mensaje...',
126
+ position: 'bottom-right',
127
+ headerText: 'MI AGENTE 🤖',
128
+ starterPrompt: '¿Necesitas ayuda?',
129
+ defaultLocale: 'es',
130
+ avatarScale: 1.2,
131
+ showPromptAvatar: true,
132
+ // -- 3D Avatar for Voice Calls --
133
+ avatar3dUrl: 'https://example.com/model.glb',
134
+ // -- Light Mode CSS Variables --
120
135
  cssVariables: {
136
+ // Brand colors (preserved in both light AND dark mode)
121
137
  primary: '210 100% 50%',
122
- 'primary-foreground': '0 0% 100%',
138
+ primaryForeground: '0 0% 100%',
139
+ // Light mode surfaces
140
+ background: '0 0% 100%',
141
+ foreground: '210 20% 12%',
142
+ card: '0 0% 100%',
143
+ cardForeground: '210 20% 12%',
144
+ muted: '210 20% 96%',
145
+ mutedForeground: '210 10% 45%',
146
+ border: '210 20% 90%',
147
+ destructive: '0 84% 60%',
148
+ // Sizing
149
+ radius: '0.75rem',
150
+ windowBorderRadius: '24px',
151
+ launcherBorderRadius: '50%',
152
+ windowHeight: '700px',
153
+ windowBottom: '24px',
154
+ // Spacing (design system)
155
+ spacing1: '0.25rem',
156
+ spacing2: '0.5rem',
157
+ spacing3: '0.75rem',
158
+ spacing4: '1rem',
159
+ spacing5: '1.25rem',
160
+ spacing6: '1.5rem',
161
+ spacing7: '1.75rem',
162
+ spacing8: '2rem'
163
+ },
164
+ // -- Dark Mode CSS Variables (override surfaces, brand stays) --
165
+ darkCssVariables: {
123
166
  background: '222 47% 6%',
124
167
  foreground: '210 40% 98%',
168
+ card: '217 33% 12%',
169
+ cardForeground: '210 40% 98%',
125
170
  muted: '217 33% 17%',
126
- 'muted-foreground': '215 20% 65%',
127
- accent: '210 100% 50%',
128
- 'accent-foreground': '0 0% 100%',
171
+ mutedForeground: '215 20% 65%',
129
172
  border: '217 33% 17%',
130
- ring: '210 100% 50%',
131
- 'chat-bubble-user': '210 100% 50%',
132
- 'chat-bubble-user-foreground': '0 0% 100%',
133
- 'chat-bubble-bot': '217 33% 17%',
134
- 'chat-bubble-bot-foreground': '210 40% 98%',
135
- radius: '0.75rem',
136
- _note: 'HSL values WITHOUT the hsl() wrapper. Widget uses these as CSS custom properties.'
173
+ destructive: '0 63% 31%'
137
174
  },
138
- welcomeMessage: '¡Hola! 👋 Soy tu asistente virtual. ¿En qué puedo ayudarte?',
139
- placeholder: 'Escribí tu mensaje...',
140
- position: 'bottom-right'
175
+ // -- Animations --
176
+ animations: {
177
+ enabled: true,
178
+ messageEntry: 'spring',
179
+ typingIndicator: 'dots',
180
+ buttonEffects: true,
181
+ smoothScroll: true,
182
+ windowTransitions: true,
183
+ launcherPulse: true,
184
+ speedMultiplier: 1.0,
185
+ staggerDelay: 50
186
+ },
187
+ // -- Visual Effects --
188
+ effects: {
189
+ glassmorphism: true,
190
+ gradients: true,
191
+ softShadows: true,
192
+ glowEffects: true,
193
+ shimmerLoading: true,
194
+ hoverLift: true,
195
+ particles: false,
196
+ soundEffects: false,
197
+ hapticFeedback: true
198
+ }
199
+ },
200
+ _widgetConfig_doc: {
201
+ cssVariables: 'HSL values WITHOUT the hsl() wrapper. "primary" and "primaryForeground" are your brand colors — they are preserved in both light and dark mode.',
202
+ darkCssVariables: 'Optional. Overrides ONLY the surface colors (background, card, muted, border, etc.) for dark mode. ' +
203
+ 'primary/primaryForeground from cssVariables are ALWAYS preserved. Dark mode activates automatically when the host page uses prefers-color-scheme: dark.',
204
+ avatar3dUrl: 'Optional. URL to a .glb/.vrm 3D model. Displayed as the voice call avatar orb instead of the 2D image.',
205
+ avatarScale: 'Optional. Number (default 1). Controls avatar zoom. 1.2 = 20% larger.',
206
+ showPromptAvatar: 'Optional. Boolean. Shows a mini avatar next to the starter prompt bubble.',
207
+ defaultLocale: 'Optional. "es" | "en" | "pt" | "fr". Sets the widget UI language.',
208
+ starterPrompt: 'Optional. String. Small bubble shown when the widget is closed to invite interaction.',
209
+ animations: {
210
+ enabled: 'Master toggle. false disables ALL animations.',
211
+ messageEntry: '"slide" | "fade" | "scale" | "spring" | "none". How new messages appear.',
212
+ typingIndicator: '"dots" | "wave" | "pulse" | "none". Style of the "agent is typing" indicator.',
213
+ speedMultiplier: 'Number. 0.5 = 2x faster, 2 = 2x slower. Default: 1.',
214
+ staggerDelay: 'Number (ms). Delay between sequential message animations. Default: 50.'
215
+ },
216
+ effects: {
217
+ glassmorphism: 'Frosted glass blur on header and overlays.',
218
+ gradients: 'Gradient backgrounds on cards and surfaces.',
219
+ particles: 'Confetti/particles on certain actions (e.g. booking confirmed). Off by default.',
220
+ soundEffects: 'UI sounds on send/receive. Off by default.',
221
+ hapticFeedback: 'Vibration on mobile when interacting. On by default.'
222
+ }
141
223
  },
224
+ // ─── VOICE CONFIGURATION ───────────────────────────────────────
142
225
  voice: {
143
226
  profile: 'Coral Cálida',
144
- widgetCallEnabled: true,
145
- _note: 'profile is the display name of a voice profile (use list_voice_profiles to see options). liveModel is admin-only and auto-preserved.'
227
+ widgetCallEnabled: true
228
+ },
229
+ _voice_doc: {
230
+ profile: 'Display name of a voice profile. Use list_voice_profiles to see options. Resolved to internal ID on save.',
231
+ widgetCallEnabled: 'Boolean. Enables the phone icon in the widget for browser-based voice calls.',
232
+ _adminOnly: 'liveModel (e.g. "gemini-2.0-flash-live-001") is admin-only and auto-preserved on import.'
146
233
  },
234
+ // ─── PER-CHANNEL PROMPTS ───────────────────────────────────────
147
235
  channelPrompts: {
148
236
  whatsapp: 'Recordá que estás hablando por WhatsApp. Usá mensajes cortos y directos. Evitá markdown complejo.',
149
- phone: 'Estás en una llamada telefónica. Hablá de forma natural, sin usar formato visual. Sé conciso.',
150
- _note: 'Per-channel system prompt overrides. Merged into the base prompt when that channel is active.'
237
+ phone: 'Estás en una llamada telefónica. Hablá de forma natural, sin usar formato visual. Sé conciso.'
151
238
  },
239
+ _channelPrompts_doc: 'Optional. Object keyed by channel name. These prompts are MERGED into the base system prompt when that channel is active. ' +
240
+ 'Use this to adapt the agent\'s behavior per channel (e.g. shorter messages on WhatsApp, no markdown on phone).',
241
+ // ─── KNOWLEDGE BASE ────────────────────────────────────────────
152
242
  knowledgeDocumentIds: ['doc_abc123', 'doc_def456'],
153
- _knowledgeNote: 'MongoDB IDs of knowledge base documents for RAG. The agent will search these for context.',
243
+ _knowledgeDocumentIds_doc: 'Optional. Array of MongoDB IDs of knowledge base documents for RAG. ' +
244
+ 'The agent will search these documents for context when the search_knowledge_base tool is invoked.',
245
+ // ─── READ-ONLY FIELDS (visible in export, ignored on import) ──
154
246
  _readOnlyFields: {
155
247
  apiKey: 'agent_cce16580e147497ba5a35ff4c4947066',
156
- _note: 'apiKey is shown in export but cannot be modified via import. Used for external API integrations.'
248
+ _doc: 'The agent API key is auto-generated and shown in export. Use it for external integrations (widget embed, API calls). Cannot be modified via import.'
157
249
  },
250
+ // ─── ADMIN-ONLY FIELDS (never exposed via MCP) ─────────────────
158
251
  _adminOnlyFields: {
159
252
  model: 'gemini-2.0-flash',
160
253
  temperature: 0.7,
161
254
  summaryThreshold: 15,
162
255
  'voice.liveModel': 'gemini-2.0-flash-live-001',
163
- _note: 'These fields are only editable via the admin panel, never via MCP import.'
256
+ _doc: 'These fields are internal platform settings. Only editable via the admin panel. On import, they are preserved from the existing agent config.'
164
257
  }
165
258
  };
166
259
  return {
167
260
  success: true,
168
- data: example,
169
- message: 'This is a complete reference of all agent configuration fields. Fields prefixed with _ are documentation-only and should be removed when using import_agent_json.'
261
+ data: reference,
262
+ message: 'Complete agent configuration reference. Fields prefixed with _ are documentation-only and should be removed when using import_agent_json. ' +
263
+ 'Workflow: export_agent_json → edit local file → import_agent_json(filePath: "./agents/my-agent.json")'
170
264
  };
171
265
  }
172
266
  //# sourceMappingURL=example_agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"example_agent.js","sourceRoot":"","sources":["../../src/tools/example_agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"example_agent.js","sourceRoot":"","sources":["../../src/tools/example_agent.ts"],"names":[],"mappings":"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"}
@@ -47,15 +47,55 @@ Requires role: owner, admin, or developer.`,
47
47
  channels: { type: 'array', items: { type: 'string' }, description: 'Channels: web, whatsapp, phone, etc.' },
48
48
  widgetConfig: {
49
49
  type: 'object',
50
- description: 'Widget appearance and behavior config',
50
+ description: 'Widget appearance, theming, animations, and behavior config',
51
51
  properties: {
52
52
  cssVariables: {
53
53
  type: 'object',
54
- description: 'CSS custom properties for widget theming. Keys are variable names (e.g. "primary", "background"), values are HSL values WITHOUT the hsl() wrapper (e.g. "210 100% 50%").'
54
+ description: 'Light mode CSS custom properties. Keys: primary, primaryForeground, background, foreground, card, cardForeground, muted, mutedForeground, border, destructive, radius, windowBorderRadius, launcherBorderRadius, windowHeight, windowBottom, spacing1-8. Values: HSL WITHOUT hsl() wrapper (e.g. "210 100% 50%").'
55
+ },
56
+ darkCssVariables: {
57
+ type: 'object',
58
+ description: 'Dark mode overrides. Same keys as cssVariables. primary/primaryForeground are preserved from light mode — only override surface colors (background, card, muted, border, etc.).'
55
59
  },
56
60
  welcomeMessage: { type: 'string', description: 'Initial greeting shown when widget opens' },
57
61
  placeholder: { type: 'string', description: 'Placeholder text in chat input' },
58
- position: { type: 'string', description: 'Widget position: bottom-right, bottom-left, etc.' }
62
+ position: { type: 'string', enum: ['bottom-right', 'bottom-left'], description: 'Widget position' },
63
+ headerText: { type: 'string', description: 'Text shown in the widget header bar' },
64
+ starterPrompt: { type: 'string', description: 'Bubble text shown when widget is closed to invite interaction' },
65
+ defaultLocale: { type: 'string', enum: ['es', 'en', 'pt', 'fr'], description: 'Widget UI language' },
66
+ avatarScale: { type: 'number', description: 'Avatar zoom factor (default 1, e.g. 1.2 = 20% larger)' },
67
+ showPromptAvatar: { type: 'boolean', description: 'Show mini avatar next to starter prompt bubble' },
68
+ avatar3dUrl: { type: 'string', description: 'URL to .glb/.vrm 3D model for voice call avatar' },
69
+ animations: {
70
+ type: 'object',
71
+ description: 'Animation config',
72
+ properties: {
73
+ enabled: { type: 'boolean', description: 'Master toggle for all animations' },
74
+ messageEntry: { type: 'string', enum: ['slide', 'fade', 'scale', 'spring', 'none'] },
75
+ typingIndicator: { type: 'string', enum: ['dots', 'wave', 'pulse', 'none'] },
76
+ buttonEffects: { type: 'boolean' },
77
+ smoothScroll: { type: 'boolean' },
78
+ windowTransitions: { type: 'boolean' },
79
+ launcherPulse: { type: 'boolean' },
80
+ speedMultiplier: { type: 'number', description: '0.5 = faster, 2 = slower, default 1' },
81
+ staggerDelay: { type: 'number', description: 'ms between sequential message animations, default 50' }
82
+ }
83
+ },
84
+ effects: {
85
+ type: 'object',
86
+ description: 'Visual effects config',
87
+ properties: {
88
+ glassmorphism: { type: 'boolean', description: 'Frosted glass blur on headers' },
89
+ gradients: { type: 'boolean', description: 'Gradient backgrounds on surfaces' },
90
+ softShadows: { type: 'boolean' },
91
+ glowEffects: { type: 'boolean', description: 'Glow effects on hover/focus' },
92
+ shimmerLoading: { type: 'boolean' },
93
+ hoverLift: { type: 'boolean', description: 'Lift effect on card hover' },
94
+ particles: { type: 'boolean', description: 'Confetti on actions (default false)' },
95
+ soundEffects: { type: 'boolean', description: 'UI sounds (default false)' },
96
+ hapticFeedback: { type: 'boolean', description: 'Mobile vibration (default true)' }
97
+ }
98
+ }
59
99
  }
60
100
  },
61
101
  voice: {
@@ -1 +1 @@
1
- {"version":3,"file":"import_agent_json.js","sourceRoot":"","sources":["../../src/tools/import_agent_json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import_agent_json.js","sourceRoot":"","sources":["../../src/tools/import_agent_json.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botuyo/mcp",
3
- "version": "0.2.14",
3
+ "version": "0.2.15",
4
4
  "description": "BotUyo MCP Server — create and manage AI agents via Model Context Protocol",
5
5
  "keywords": [
6
6
  "mcp",