bland-cli 0.2.6 → 0.2.8

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.
@@ -0,0 +1,354 @@
1
+ /**
2
+ * Long-form guides for building with Bland AI.
3
+ * Used by `bland guide` CLI command and surfaced to LLMs via MCP.
4
+ */
5
+ export const GUIDES = [
6
+ {
7
+ slug: "phone-tone",
8
+ title: "Writing phone-tone prompts",
9
+ summary: "How to write prompts that sound natural on a phone call, not like a chatbot.",
10
+ content: `# Writing phone-tone prompts
11
+
12
+ Everything in a node prompt is spoken aloud to the caller. Your goal: sound like a real person on the phone, not a chatbot.
13
+
14
+ ## Core principle
15
+ Play this game for every reply: "What is the most accurate response, and how can I reduce this to the fewest words without sounding rude?"
16
+
17
+ ## Rules
18
+
19
+ 1. **No recontextualizing.** Never say "just to confirm", "you said", "got it". Phone calls are fluid — when you reply like it's a chat input, you break that fluidity.
20
+
21
+ 2. **Use phone words.** "Gotcha" instead of "got it". "Yup and last?" instead of "And what is your last name?" The caller has context — don't repeat what they already know.
22
+
23
+ 3. **Back-channel freely.** "Mhmm", "uh huh", "right" — use these when the caller pauses or is still talking. It signals you're listening.
24
+
25
+ 4. **Empathy in stride.** If someone says "my dog is on fire", don't say "gotcha, and your first name?" Say "oh no, go take care of that — this isn't important." Acknowledge before collecting.
26
+
27
+ 5. **Topic transitions are natural breaks.** When you shift topics (e.g., from collecting info to asking why they called), you can be slightly more formal: "awesome thanks. And how can I help you today?" Within a topic, keep it tight.
28
+
29
+ 6. **Personality is fine, sparingly.** If someone cracks a joke, you can volley back. But don't let it interrupt the flow. The goal is speed.
30
+
31
+ 7. **Fewest words possible.** After collecting a first name: "Yup and last?" Not "Great, and could you also provide your last name?" Three words vs. ten.
32
+
33
+ ## Examples
34
+
35
+ BAD: "Thank you for providing that. Could you also tell me your last name?"
36
+ GOOD: "And last?"
37
+
38
+ BAD: "I understand you're calling about a broken pipe. Let me help you with that."
39
+ GOOD: "Oh man, yeah let's get that sorted."
40
+
41
+ BAD: "Just to confirm, you said your appointment is on Tuesday?"
42
+ GOOD: "Tuesday, perfect."
43
+
44
+ ## Applying to pathway nodes
45
+
46
+ - Greeting node: Keep it casual. "Hey there, thanks for calling [business]. What's going on?" Not "Hello and welcome to..."
47
+ - Collection nodes: One field at a time. After getting the answer, move immediately: "Cool. And email?"
48
+ - Confirmation nodes: Don't re-read everything. "Alright so Tuesday at 2 for Bella — sound right?"
49
+ - Goodbye nodes: Quick and warm. "You're all set! Take care." Not "Thank you for calling, we appreciate your business..."`,
50
+ },
51
+ {
52
+ slug: "pathways",
53
+ title: "Pathway architecture",
54
+ summary: "How pathways work: nodes, edges, global nodes, variables, and the execution model.",
55
+ content: `# Pathway architecture
56
+
57
+ A pathway is a directed graph that controls a phone conversation. The AI agent walks through nodes, using edges to decide where to go next.
58
+
59
+ ## Nodes
60
+
61
+ Each node has:
62
+ - **name**: Human-readable identifier (used in YAML, shows in UI)
63
+ - **type**: Usually "Default". Others: "Transfer Number", "Webhook", "End Call", "Knowledge Base"
64
+ - **prompt**: What the agent says/does at this node. Written in second person ("Ask the caller...")
65
+ - **edges**: Where to go next, with labels describing when to take that path
66
+
67
+ ## Edges
68
+
69
+ Edges connect nodes. Each edge has:
70
+ - **target**: The destination node name
71
+ - **label**: A natural-language description of when this edge fires (e.g., "Caller provides their name")
72
+
73
+ IMPORTANT: Labels are not boolean conditions. They're descriptions the LLM evaluates conversationally. Write them as "Caller wants X" not "if caller_intent == 'X'".
74
+
75
+ ## Global nodes
76
+
77
+ A node marked \`is_global: true\` is reachable from ANY node in the pathway. Use globals for:
78
+ - Edge cases that can happen anytime ("caller asks to speak to a manager")
79
+ - Guardrails ("caller asks about a topic we don't handle")
80
+ - Universal exits ("caller wants to end the call")
81
+
82
+ Global nodes need a \`global_label\` — when this label matches, the agent jumps to this node regardless of where it currently is.
83
+
84
+ ## Variables
85
+
86
+ Use \`extract_variables\` on a node to pull structured data from the conversation:
87
+ \`\`\`yaml
88
+ extract_variables:
89
+ - name: first_name
90
+ type: string
91
+ description: "Caller's first name"
92
+ \`\`\`
93
+
94
+ Variables persist across the conversation and can be referenced in prompts with \`{{variable_name}}\`.
95
+
96
+ ## Global prompt
97
+
98
+ The \`global.prompt\` applies to EVERY node. Use it for:
99
+ - Voice/tone instructions (phone-tone, personality)
100
+ - Business context ("You are an agent for Acme Plumbing")
101
+ - Universal rules ("Never discuss pricing over the phone")
102
+
103
+ ## Execution model
104
+
105
+ 1. Call starts at the node marked \`isStart: true\` (first node)
106
+ 2. Agent speaks based on the node's prompt
107
+ 3. Caller responds
108
+ 4. LLM evaluates edge labels + global node labels to decide next node
109
+ 5. Repeat until "End Call" node or call ends
110
+
111
+ ## Common patterns
112
+
113
+ **Linear flow**: greeting → collect info → confirm → goodbye
114
+ **Branching**: after a question, split into 2-3 paths based on answer
115
+ **Loop back**: "anything else?" node that returns to the main handler
116
+ **Global guard**: global node that catches off-topic requests and redirects`,
117
+ },
118
+ {
119
+ slug: "tools",
120
+ title: "Using tools in pathways",
121
+ summary: "How to attach webhook tools and custom tools to nodes for real-time data.",
122
+ content: `# Using tools in pathways
123
+
124
+ Tools let your agent fetch or push data mid-conversation — check availability, look up orders, book appointments.
125
+
126
+ ## When to use tools vs. nodes
127
+
128
+ - **Tool**: Happens invisibly during a node. Agent says "let me check on that", tool fires, result feeds back into the conversation. Use for lookups.
129
+ - **Webhook node**: A dedicated node that fires a webhook and routes based on the response. Use for actions with branching outcomes (booking succeeded vs. failed).
130
+
131
+ ## Webhook tools on a node
132
+
133
+ \`\`\`yaml
134
+ main:
135
+ type: Default
136
+ prompt: "Help the caller check their order status."
137
+ tools:
138
+ - name: check_order
139
+ description: "Look up order by order number"
140
+ type: webhook
141
+ speech: "Let me pull that up real quick"
142
+ url: "https://api.example.com/orders/{{order_number}}"
143
+ method: GET
144
+ behavior: feed_context
145
+ response_data:
146
+ - name: order_status
147
+ data: "$.status"
148
+ context: "The order status"
149
+ \`\`\`
150
+
151
+ ## Key fields
152
+
153
+ - **speech**: What the agent says BEFORE the tool fires (fills the silence)
154
+ - **behavior**:
155
+ - \`feed_context\`: Result goes into LLM context, conversation continues on same node
156
+ - \`feed_context_and_route\`: Result goes into context AND edges are re-evaluated (can trigger a jump)
157
+ - **response_data**: JSONPath mappings to extract fields from the webhook response into variables
158
+
159
+ ## Tips
160
+
161
+ - Always set \`speech\` — silence while a webhook runs feels broken
162
+ - Keep tool descriptions clear — the LLM uses them to decide when to call the tool
163
+ - Use \`response_data\` to extract specific fields rather than dumping the whole response
164
+ - Set timeouts for slow APIs (default is reasonable but adjust if needed)`,
165
+ },
166
+ {
167
+ slug: "testing",
168
+ title: "Testing pathways",
169
+ summary: "How to test pathways with chat, simulations, and node tests.",
170
+ content: `# Testing pathways
171
+
172
+ ## Quick test: pathway chat
173
+
174
+ Interactive back-and-forth — you play the caller:
175
+ \`\`\`
176
+ bland pathway chat <pathway_id>
177
+ bland pathway chat <pathway_id> --verbose # shows node transitions + variables
178
+ \`\`\`
179
+
180
+ Use --verbose to see which node you're on and what variables are being extracted.
181
+
182
+ ## Node tests
183
+
184
+ Test a single node in isolation with AI-generated caller variations:
185
+ \`\`\`
186
+ bland pathway node-test <pathway_id> <node_id>
187
+ bland pathway node-test <pathway_id> <node_id> --permutations 10
188
+ \`\`\`
189
+
190
+ This generates synthetic caller inputs and checks how the node responds. Great for stress-testing edge cases.
191
+
192
+ ## Simulations
193
+
194
+ Full end-to-end test with AI personas playing callers:
195
+ \`\`\`
196
+ bland pathway simulate run <pathway_id> --wait
197
+ bland pathway simulate run <pathway_id> --personas 3 --turns 20 --wait
198
+ \`\`\`
199
+
200
+ Each persona gets a scenario and plays through the whole pathway. Use --wait to see results inline.
201
+
202
+ If you hit "max turns reached":
203
+ - Increase turns: --turns 30
204
+ - Check that edges have descriptive labels (not boolean conditions)
205
+ - Verify the pathway works via chat first
206
+
207
+ ## Test cases file
208
+
209
+ For repeatable tests, create tests/test-cases.yaml:
210
+ \`\`\`yaml
211
+ pathway: "My Pathway"
212
+ tests:
213
+ - name: happy_path
214
+ scenario: "Caller wants to book an appointment for their dog"
215
+ expected_path: [greeting, collect_info, confirm, goodbye]
216
+ - name: edge_case
217
+ scenario: "Caller immediately asks to speak to a manager"
218
+ expected_path: [greeting, transfer_manager]
219
+ \`\`\`
220
+
221
+ Run with: \`bland pathway test\`
222
+
223
+ ## Workflow
224
+
225
+ 1. Build pathway → push (bland pathway push)
226
+ 2. Chat-test interactively (bland pathway chat <id> --verbose)
227
+ 3. Fix issues, push again
228
+ 4. Run simulations for coverage (bland pathway simulate run <id> --wait)
229
+ 5. Publish when satisfied (bland pathway push --publish)`,
230
+ },
231
+ {
232
+ slug: "variables",
233
+ title: "Extracting and using variables",
234
+ summary: "How to extract caller data (names, emails, etc.) and use it across nodes.",
235
+ content: `# Extracting and using variables
236
+
237
+ Variables let you collect structured data from natural conversation and use it later.
238
+
239
+ ## Defining extraction
240
+
241
+ On any node, add extract_variables:
242
+ \`\`\`yaml
243
+ collect_info:
244
+ type: Default
245
+ prompt: "Great, I just need a few details. What's your first name?"
246
+ extract_variables:
247
+ - name: first_name
248
+ type: string
249
+ description: "Caller's first name"
250
+ - name: last_name
251
+ type: string
252
+ description: "Caller's last name"
253
+ - name: phone
254
+ type: string
255
+ description: "Caller's callback number"
256
+ edges:
257
+ - target: reason_for_visit
258
+ label: "All contact info collected"
259
+ \`\`\`
260
+
261
+ ## Types
262
+
263
+ - \`string\`: Names, emails, free text
264
+ - \`integer\`: Numbers, counts, IDs
265
+ - \`boolean\`: Yes/no answers
266
+
267
+ ## Using variables in prompts
268
+
269
+ Reference with double curly braces:
270
+ \`\`\`yaml
271
+ confirm:
272
+ type: Default
273
+ prompt: "Alright, so I have {{first_name}} {{last_name}} coming in on {{date}}. Sound right?"
274
+ \`\`\`
275
+
276
+ Variables are available in ALL subsequent nodes once extracted.
277
+
278
+ ## Tips
279
+
280
+ - Extract on the node where the info is naturally given — don't add a separate "extraction" node
281
+ - Keep descriptions clear — the LLM uses them to know what to extract
282
+ - Use \`spelling_precision: true\` for names and emails where exact spelling matters
283
+ - Variables persist for the entire call — extract once, use everywhere
284
+ - You can reference variables in tool webhook URLs and bodies too: \`https://api.com/lookup/{{order_id}}\``,
285
+ },
286
+ ];
287
+ /** Get all guide slugs */
288
+ export function getGuideSlugs() {
289
+ return GUIDES.map((g) => g.slug);
290
+ }
291
+ /** Get a single guide by slug */
292
+ export function getGuide(slug) {
293
+ return GUIDES.find((g) => g.slug === slug);
294
+ }
295
+ /** Build a condensed version of all guides for MCP instructions */
296
+ export function buildMcpInstructions() {
297
+ return `You are connected to the Bland AI platform via MCP. Bland lets you build AI phone agents that make and receive calls.
298
+
299
+ ## Key concepts
300
+
301
+ - **Pathway**: A directed graph controlling a phone conversation. Nodes are conversation steps, edges are transitions.
302
+ - **Node**: A step in the conversation. Has a prompt (what the agent says/does), edges (where to go next), and optionally tools and variable extraction.
303
+ - **Edge**: Connects two nodes. Has a label (natural language description of when to transition — NOT a boolean condition).
304
+ - **Global node**: Reachable from any node. Use for edge cases, guardrails, and universal exits.
305
+ - **Global prompt**: Applies to every node. Use for voice/tone, business context, and universal rules.
306
+ - **Variables**: Extracted from conversation with {{curly_braces}}. Persist across the entire call.
307
+
308
+ ## Workflow
309
+
310
+ 1. Create a pathway: bland_pathway_create (name required, nodes/edges optional)
311
+ 2. Get pathway details: bland_pathway_get (returns nodes, edges, and metadata)
312
+ 3. Test interactively: bland_pathway_chat (create session with pathway_id, then send messages with chat_id)
313
+ 4. Make a real call: bland_call_send (phone_number required, add pathway_id to use a pathway)
314
+ 5. Check results: bland_call_get (returns transcript, variables, summary)
315
+
316
+ ## Writing good prompts
317
+
318
+ ${GUIDES[0].content.split("## Rules")[1]?.split("## Applying")[0]?.trim() || ""}
319
+
320
+ ## Creating pathways
321
+
322
+ When creating a pathway with nodes/edges, pass them as JSON strings. Node format:
323
+ - id: unique string
324
+ - type: "Default" | "Transfer Number" | "End Call" | "Webhook"
325
+ - data: { name, prompt, isStart?, isGlobal?, globalLabel?, extractVars?, tools? }
326
+ - position: { x, y } — layout position
327
+
328
+ Edge format:
329
+ - id: unique string
330
+ - source: source node id
331
+ - target: target node id
332
+ - label: natural language transition description
333
+
334
+ ## Testing a pathway
335
+
336
+ Use bland_pathway_chat to test conversationally:
337
+ 1. First call: provide pathway_id + message → get back chat_id
338
+ 2. Subsequent calls: provide chat_id + message → get back agent response
339
+ 3. Check assistant_responses array and current_node in the response
340
+
341
+ ## Common mistakes
342
+
343
+ - Using boolean conditions as edge labels ("if intent == booking") — use natural language ("Caller wants to book an appointment")
344
+ - Forgetting global nodes for edge cases — callers will go off-script
345
+ - Not setting a global prompt for tone — every node will sound different
346
+ - Putting too much in one node — split into focused steps
347
+ - Not testing with bland_pathway_chat before making real calls
348
+
349
+ ## Available guides
350
+
351
+ Run bland_guide_list to see all available guides, then bland_guide_get to read a specific one:
352
+ ${GUIDES.map((g) => `- ${g.slug}: ${g.summary}`).join("\n")}`;
353
+ }
354
+ //# sourceMappingURL=guides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guides.js","sourceRoot":"","sources":["../../src/lib/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,CAAC,MAAM,MAAM,GAAY;IAC7B;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,4BAA4B;QACnC,OAAO,EAAE,8EAA8E;QACvF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0HAuC6G;KACvH;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,oFAAoF;QAC7F,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EA6D+D;KACzE;IACD;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,yBAAyB;QAChC,OAAO,EAAE,2EAA2E;QACpF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EA0C6D;KACvE;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,8DAA8D;QACvE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA2D4C;KACtD;IACD;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,gCAAgC;QACvC,OAAO,EAAE,2EAA2E;QACpF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GAiD8F;KACxG;CACF,CAAC;AAEF,0BAA0B;AAC1B,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,oBAAoB;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBP,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkC7E,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pathway-file.d.ts","sourceRoot":"","sources":["../../src/lib/pathway-file.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAoC,MAAM,qBAAqB,CAAC;AACzF,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AAWzB,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ1D;AAED,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAiB7D;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,IAAI,CAoBN;AA0BD,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAoFvD;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CACvB,IAAI,EAAE,WAAW,GAChB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CAChC,CAkFA;AAED,oCAAoC;AACpC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAsC9D;AAED,uCAAuC;AACvC,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAYhF;AAED,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC9C,CAAC,CAAC;CACJ"}
1
+ {"version":3,"file":"pathway-file.d.ts","sourceRoot":"","sources":["../../src/lib/pathway-file.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAoC,MAAM,qBAAqB,CAAC;AACzF,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AAWzB,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ1D;AAED,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAiB7D;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,IAAI,CAoBN;AA0BD,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAoFvD;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CACvB,IAAI,EAAE,WAAW,GAChB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CAChC,CAkFA;AAED,oCAAoC;AACpC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CA+C9D;AAED,uCAAuC;AACvC,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAYhF;AAED,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC9C,CAAC,CAAC;CACJ"}
@@ -251,13 +251,22 @@ export function createStarterPathway(name) {
251
251
  description: `${name} pathway`,
252
252
  version: "draft",
253
253
  global: {
254
+ prompt: [
255
+ "Sound natural and midwestern. Everything you say is spoken aloud on a phone call.",
256
+ "Play this game silently for every reply: what is the most accurate response, then how can I reduce it to the fewest words without sounding rude?",
257
+ "Never recontextualize — no 'just to confirm', 'you said', 'got it'. Use 'gotcha', 'yup', 'cool'.",
258
+ "Back-channel freely: 'mhmm', 'uh huh', 'right' — when the caller pauses or is still talking.",
259
+ "Acknowledge emotions in stride. If something is urgent, address it before collecting info.",
260
+ "Topic transitions are natural breaks — slightly more formal. Within a topic, keep it tight.",
261
+ "After collecting one field, move immediately: 'And last?' not 'Could you also provide your last name?'",
262
+ ].join("\n"),
254
263
  voice: "nat",
255
264
  model: "base",
256
265
  },
257
266
  nodes: {
258
267
  greeting: {
259
268
  type: "Default",
260
- prompt: "Greet the caller warmly and ask how you can help them today.",
269
+ prompt: "Hey there, thanks for calling. What's going on?",
261
270
  edges: [
262
271
  {
263
272
  target: "main",
@@ -267,7 +276,7 @@ export function createStarterPathway(name) {
267
276
  },
268
277
  main: {
269
278
  type: "Default",
270
- prompt: "Help the caller with their request.",
279
+ prompt: "Help the caller with their request. Keep it conversational and concise.",
271
280
  edges: [
272
281
  {
273
282
  target: "goodbye",
@@ -277,7 +286,7 @@ export function createStarterPathway(name) {
277
286
  },
278
287
  goodbye: {
279
288
  type: "Default",
280
- prompt: "Thank the caller for their time and wish them a great day.",
289
+ prompt: "You're all set! Take care.",
281
290
  },
282
291
  },
283
292
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pathway-file.js","sourceRoot":"","sources":["../../src/lib/pathway-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pathway-file.js","sourceRoot":"","sources":["../../src/lib/pathway-file.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAgUA,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAwDf"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAmWA,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAwDf"}