bland-cli 0.2.7 → 0.2.9
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/README.md +71 -4
- package/dist/commands/guide.d.ts +3 -0
- package/dist/commands/guide.d.ts.map +1 -0
- package/dist/commands/guide.js +40 -0
- package/dist/commands/guide.js.map +1 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/guides.d.ts +18 -0
- package/dist/lib/guides.d.ts.map +1 -0
- package/dist/lib/guides.js +354 -0
- package/dist/lib/guides.js.map +1 -0
- package/dist/lib/pathway-file.d.ts.map +1 -1
- package/dist/lib/pathway-file.js +12 -3
- package/dist/lib/pathway-file.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +68 -36
- package/dist/mcp/server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -126,9 +126,9 @@ nodes:
|
|
|
126
126
|
Greet the customer warmly. Ask how you can help them today.
|
|
127
127
|
edges:
|
|
128
128
|
- target: identify_issue
|
|
129
|
-
|
|
129
|
+
label: "Customer describes their problem"
|
|
130
130
|
- target: transfer_human
|
|
131
|
-
|
|
131
|
+
label: "Customer asks for a human"
|
|
132
132
|
|
|
133
133
|
identify_issue:
|
|
134
134
|
type: default
|
|
@@ -140,9 +140,9 @@ nodes:
|
|
|
140
140
|
description: "billing, technical, or general"
|
|
141
141
|
edges:
|
|
142
142
|
- target: billing_help
|
|
143
|
-
|
|
143
|
+
label: "Issue is about billing"
|
|
144
144
|
- target: tech_help
|
|
145
|
-
|
|
145
|
+
label: "Issue is technical"
|
|
146
146
|
|
|
147
147
|
billing_help:
|
|
148
148
|
type: default
|
|
@@ -438,6 +438,8 @@ Add to your Claude Code config:
|
|
|
438
438
|
|
|
439
439
|
| Tool | What it does |
|
|
440
440
|
|------|-------------|
|
|
441
|
+
| `bland_guide_list` | List all available guides (start here) |
|
|
442
|
+
| `bland_guide_get` | Read a specific guide by slug |
|
|
441
443
|
| `bland_call_send` | Make a phone call |
|
|
442
444
|
| `bland_call_list` | List recent calls |
|
|
443
445
|
| `bland_call_get` | Get call details and transcript |
|
|
@@ -455,6 +457,71 @@ Add to your Claude Code config:
|
|
|
455
457
|
| `bland_knowledge_list` | List knowledge bases |
|
|
456
458
|
| `bland_audio_generate` | Generate TTS audio |
|
|
457
459
|
|
|
460
|
+
## For LLMs
|
|
461
|
+
|
|
462
|
+
The CLI ships with a built-in guide system designed to give LLMs (Claude, Cursor, GPT, etc.) the context they need to build good pathways — not just call the API, but actually understand how phone conversations work.
|
|
463
|
+
|
|
464
|
+
### How it works
|
|
465
|
+
|
|
466
|
+
When an LLM connects via MCP, it receives:
|
|
467
|
+
|
|
468
|
+
1. **`instructions`** — a condensed overview of the Bland platform, pathway architecture, common mistakes, and recommended workflow. This loads automatically on connect.
|
|
469
|
+
2. **`bland_guide_list` / `bland_guide_get`** — tools to pull long-form guides on demand for deeper context.
|
|
470
|
+
|
|
471
|
+
The guides are also available to humans via the CLI:
|
|
472
|
+
|
|
473
|
+
```bash
|
|
474
|
+
bland guide # List all guides
|
|
475
|
+
bland guide phone-tone # Writing natural phone prompts
|
|
476
|
+
bland guide pathways # Node/edge architecture and execution model
|
|
477
|
+
bland guide tools # Webhook and custom tools on nodes
|
|
478
|
+
bland guide testing # Chat, simulate, node tests
|
|
479
|
+
bland guide variables # Extracting and using caller data
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
### What the guides cover
|
|
483
|
+
|
|
484
|
+
| Guide | What it teaches |
|
|
485
|
+
|-------|----------------|
|
|
486
|
+
| `phone-tone` | How to write prompts that sound like a real person on the phone — not a chatbot. Covers back-channeling, brevity, empathy, and topic transitions. |
|
|
487
|
+
| `pathways` | How the conversation graph works: nodes, edges, global nodes, variables, the global prompt, and the execution model. |
|
|
488
|
+
| `tools` | Attaching webhook and custom tools to nodes for real-time data (check availability, look up orders). Covers `speech`, `behavior`, and `response_data`. |
|
|
489
|
+
| `testing` | The full testing workflow: `pathway chat` for interactive testing, `simulate` for end-to-end AI personas, `node-test` for stress-testing individual nodes. |
|
|
490
|
+
| `variables` | Extracting structured data from natural conversation with `extract_variables`, using `{{curly_braces}}` in prompts, and `spelling_precision` for names/emails. |
|
|
491
|
+
|
|
492
|
+
### Why this matters
|
|
493
|
+
|
|
494
|
+
LLMs building pathways make predictable mistakes:
|
|
495
|
+
- Writing edge labels as boolean conditions (`if intent == "booking"`) instead of natural language (`Caller wants to book an appointment`)
|
|
496
|
+
- Making prompts too verbose and chat-like instead of concise and phone-natural
|
|
497
|
+
- Forgetting global nodes for edge cases callers will absolutely hit
|
|
498
|
+
- Not setting a global prompt for tone, so every node sounds different
|
|
499
|
+
- Building without testing — the guides teach `pathway chat --verbose` first, real calls second
|
|
500
|
+
|
|
501
|
+
The guide system fixes this by giving the LLM opinionated, Bland-specific knowledge before it starts writing. It's the difference between an LLM that can call the API and one that actually builds good phone agents.
|
|
502
|
+
|
|
503
|
+
### Default phone tone
|
|
504
|
+
|
|
505
|
+
When you scaffold a new pathway with `bland pathway init`, the global prompt comes pre-loaded with phone-tone instructions:
|
|
506
|
+
|
|
507
|
+
```yaml
|
|
508
|
+
global:
|
|
509
|
+
prompt: |
|
|
510
|
+
Sound natural and midwestern. Everything you say is spoken aloud on a phone call.
|
|
511
|
+
Play this game silently for every reply: what is the most accurate response,
|
|
512
|
+
then how can I reduce it to the fewest words without sounding rude?
|
|
513
|
+
Never recontextualize — no 'just to confirm', 'you said', 'got it'.
|
|
514
|
+
Use 'gotcha', 'yup', 'cool'.
|
|
515
|
+
Back-channel freely: 'mhmm', 'uh huh', 'right'.
|
|
516
|
+
Acknowledge emotions in stride.
|
|
517
|
+
Topic transitions are natural breaks — slightly more formal.
|
|
518
|
+
Within a topic, keep it tight.
|
|
519
|
+
After collecting one field, move immediately: 'And last?' not
|
|
520
|
+
'Could you also provide your last name?'
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
This sets the baseline voice for every node. LLMs using the MCP tools will also receive this guidance through the `phone-tone` guide.
|
|
524
|
+
|
|
458
525
|
## Local Webhook Development
|
|
459
526
|
|
|
460
527
|
Forward Bland webhooks to your local dev server without ngrok:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../src/commands/guide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC3D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { GUIDES, getGuide } from "../lib/guides.js";
|
|
3
|
+
import { handleError } from "../lib/errors.js";
|
|
4
|
+
export function registerGuideCommand(program) {
|
|
5
|
+
const guide = program
|
|
6
|
+
.command("guide")
|
|
7
|
+
.description("Guides for building with Bland AI — phone tone, pathways, tools, testing, variables")
|
|
8
|
+
.argument("[topic]", "Guide topic (omit to list all)")
|
|
9
|
+
.action(async (topic) => {
|
|
10
|
+
try {
|
|
11
|
+
if (!topic) {
|
|
12
|
+
// List all guides
|
|
13
|
+
console.log();
|
|
14
|
+
console.log(chalk.bold("Available guides"));
|
|
15
|
+
console.log(chalk.dim("─".repeat(40)));
|
|
16
|
+
console.log();
|
|
17
|
+
for (const g of GUIDES) {
|
|
18
|
+
console.log(` ${chalk.cyan(g.slug.padEnd(14))} ${g.summary}`);
|
|
19
|
+
}
|
|
20
|
+
console.log();
|
|
21
|
+
console.log(chalk.dim(" Usage: bland guide <topic>"));
|
|
22
|
+
console.log(chalk.dim(" Example: bland guide phone-tone"));
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const g = getGuide(topic);
|
|
26
|
+
if (!g) {
|
|
27
|
+
console.error(chalk.red(`Unknown guide: ${topic}`));
|
|
28
|
+
console.log(chalk.dim(` Available: ${GUIDES.map((g) => g.slug).join(", ")}`));
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
console.log();
|
|
32
|
+
console.log(g.content);
|
|
33
|
+
console.log();
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
handleError(err);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=guide.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/commands/guide.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,qFAAqF,CAAC;SAClG,QAAQ,CAAC,SAAS,EAAE,gCAAgC,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,kBAAkB;gBAClB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,11 +21,12 @@ import { registerEvalCommand } from "./commands/eval.js";
|
|
|
21
21
|
import { registerAudioCommand } from "./commands/audio.js";
|
|
22
22
|
import { registerListenCommand } from "./commands/listen.js";
|
|
23
23
|
import { registerMcpCommand } from "./commands/mcp.js";
|
|
24
|
+
import { registerGuideCommand } from "./commands/guide.js";
|
|
24
25
|
const program = new Command();
|
|
25
26
|
program
|
|
26
27
|
.name("bland")
|
|
27
28
|
.description("The official Bland AI command-line interface")
|
|
28
|
-
.version("0.2.
|
|
29
|
+
.version("0.2.9");
|
|
29
30
|
// Register all command groups
|
|
30
31
|
registerAuthCommand(program);
|
|
31
32
|
registerCallCommand(program);
|
|
@@ -48,5 +49,6 @@ registerEvalCommand(program);
|
|
|
48
49
|
registerAudioCommand(program);
|
|
49
50
|
registerListenCommand(program);
|
|
50
51
|
registerMcpCommand(program);
|
|
52
|
+
registerGuideCommand(program);
|
|
51
53
|
program.parse();
|
|
52
54
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,8BAA8B;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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 interface Guide {
|
|
6
|
+
slug: string;
|
|
7
|
+
title: string;
|
|
8
|
+
summary: string;
|
|
9
|
+
content: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const GUIDES: Guide[];
|
|
12
|
+
/** Get all guide slugs */
|
|
13
|
+
export declare function getGuideSlugs(): string[];
|
|
14
|
+
/** Get a single guide by slug */
|
|
15
|
+
export declare function getGuide(slug: string): Guide | undefined;
|
|
16
|
+
/** Build a condensed version of all guides for MCP instructions */
|
|
17
|
+
export declare function buildMcpInstructions(): string;
|
|
18
|
+
//# sourceMappingURL=guides.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guides.d.ts","sourceRoot":"","sources":["../../src/lib/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,EAyRzB,CAAC;AAEF,0BAA0B;AAC1B,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED,iCAAiC;AACjC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAExD;AAED,mEAAmE;AACnE,wBAAgB,oBAAoB,IAAI,MAAM,CAyD7C"}
|
|
@@ -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,
|
|
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"}
|
package/dist/lib/pathway-file.js
CHANGED
|
@@ -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: "
|
|
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: "
|
|
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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"}
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -1,26 +1,45 @@
|
|
|
1
1
|
import { api } from "../lib/api.js";
|
|
2
2
|
import { isAuthenticated } from "../lib/config.js";
|
|
3
|
+
import { GUIDES, getGuide, buildMcpInstructions } from "../lib/guides.js";
|
|
3
4
|
const MCP_TOOLS = [
|
|
5
|
+
// ── Guides ──
|
|
6
|
+
{
|
|
7
|
+
name: "bland_guide_list",
|
|
8
|
+
description: "List all available Bland AI guides. READ THESE FIRST before building pathways or making calls. Covers phone-tone prompts, pathway architecture, tools, testing, and variables.",
|
|
9
|
+
inputSchema: { type: "object", properties: {} },
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: "bland_guide_get",
|
|
13
|
+
description: "Read a specific guide. Available guides: phone-tone (how to write natural phone prompts), pathways (node/edge architecture), tools (webhooks and custom tools on nodes), testing (chat, simulate, node tests), variables (extracting and using caller data).",
|
|
14
|
+
inputSchema: {
|
|
15
|
+
type: "object",
|
|
16
|
+
properties: {
|
|
17
|
+
slug: { type: "string", description: "Guide slug: phone-tone, pathways, tools, testing, or variables" },
|
|
18
|
+
},
|
|
19
|
+
required: ["slug"],
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
// ── Calls ──
|
|
4
23
|
{
|
|
5
24
|
name: "bland_call_send",
|
|
6
|
-
description: "Make an outbound phone call
|
|
25
|
+
description: "Make an outbound phone call. Requires phone_number. Use pathway_id to run a pathway, or task for a simple prompt-based call. Always test pathways with bland_pathway_chat first.",
|
|
7
26
|
inputSchema: {
|
|
8
27
|
type: "object",
|
|
9
28
|
properties: {
|
|
10
|
-
phone_number: { type: "string", description: "Phone number to call" },
|
|
11
|
-
task: { type: "string", description: "Task/prompt for
|
|
12
|
-
pathway_id: { type: "string", description: "Pathway ID
|
|
13
|
-
voice: { type: "string", description: "Voice to
|
|
14
|
-
first_sentence: { type: "string", description: "
|
|
15
|
-
model: { type: "string", description: "Model: base or turbo" },
|
|
16
|
-
from: { type: "string", description: "
|
|
29
|
+
phone_number: { type: "string", description: "Phone number to call (E.164 format preferred, e.g. +14155551234)" },
|
|
30
|
+
task: { type: "string", description: "Task/prompt for a simple call (don't use with pathway_id)" },
|
|
31
|
+
pathway_id: { type: "string", description: "Pathway ID for structured conversations (don't use with task)" },
|
|
32
|
+
voice: { type: "string", description: "Voice ID (use bland_voice_list to see options)" },
|
|
33
|
+
first_sentence: { type: "string", description: "Override the opening sentence" },
|
|
34
|
+
model: { type: "string", description: "Model: base (fast, cheap) or turbo (smarter)" },
|
|
35
|
+
from: { type: "string", description: "Caller ID number (must be a number you own — see bland_number_list)" },
|
|
17
36
|
},
|
|
18
37
|
required: ["phone_number"],
|
|
19
38
|
},
|
|
20
39
|
},
|
|
21
40
|
{
|
|
22
41
|
name: "bland_call_list",
|
|
23
|
-
description: "List recent calls with
|
|
42
|
+
description: "List recent calls. Returns call IDs, status, duration, and phone numbers. Use bland_call_get with a call_id to see the full transcript.",
|
|
24
43
|
inputSchema: {
|
|
25
44
|
type: "object",
|
|
26
45
|
properties: {
|
|
@@ -32,23 +51,24 @@ const MCP_TOOLS = [
|
|
|
32
51
|
},
|
|
33
52
|
{
|
|
34
53
|
name: "bland_call_get",
|
|
35
|
-
description: "Get
|
|
54
|
+
description: "Get full call details: transcript, extracted variables, summary, recording URL, and status. Use this to review what happened on a call.",
|
|
36
55
|
inputSchema: {
|
|
37
56
|
type: "object",
|
|
38
57
|
properties: {
|
|
39
|
-
call_id: { type: "string", description: "Call ID" },
|
|
58
|
+
call_id: { type: "string", description: "Call ID (from bland_call_list or bland_call_send response)" },
|
|
40
59
|
},
|
|
41
60
|
required: ["call_id"],
|
|
42
61
|
},
|
|
43
62
|
},
|
|
63
|
+
// ── Pathways ──
|
|
44
64
|
{
|
|
45
65
|
name: "bland_pathway_list",
|
|
46
|
-
description: "List all
|
|
66
|
+
description: "List all pathways. Returns IDs, names, and published status. Use bland_pathway_get to see the full node/edge graph.",
|
|
47
67
|
inputSchema: { type: "object", properties: {} },
|
|
48
68
|
},
|
|
49
69
|
{
|
|
50
70
|
name: "bland_pathway_get",
|
|
51
|
-
description: "Get pathway
|
|
71
|
+
description: "Get a pathway's full graph: all nodes (with prompts, tools, variables), all edges (with labels), and metadata. Use this to understand or modify an existing pathway.",
|
|
52
72
|
inputSchema: {
|
|
53
73
|
type: "object",
|
|
54
74
|
properties: {
|
|
@@ -59,53 +79,54 @@ const MCP_TOOLS = [
|
|
|
59
79
|
},
|
|
60
80
|
{
|
|
61
81
|
name: "bland_pathway_create",
|
|
62
|
-
description: "Create a new pathway
|
|
82
|
+
description: "Create a new pathway. Pass name (required) and optionally nodes/edges as JSON strings. Creates the shell first, then pushes the graph. Read bland_guide_get('pathways') for the node/edge schema.",
|
|
63
83
|
inputSchema: {
|
|
64
84
|
type: "object",
|
|
65
85
|
properties: {
|
|
66
86
|
name: { type: "string", description: "Pathway name" },
|
|
67
|
-
description: { type: "string", description: "
|
|
68
|
-
nodes: { type: "string", description: "
|
|
69
|
-
edges: { type: "string", description: "
|
|
87
|
+
description: { type: "string", description: "What this pathway does" },
|
|
88
|
+
nodes: { type: "string", description: "JSON string of nodes array. Each node: { id, type, data: { name, prompt, isStart?, isGlobal?, globalLabel? }, position: { x, y } }" },
|
|
89
|
+
edges: { type: "string", description: "JSON string of edges array. Each edge: { id, source, target, label }. Labels are natural language, NOT boolean conditions." },
|
|
70
90
|
},
|
|
71
91
|
required: ["name"],
|
|
72
92
|
},
|
|
73
93
|
},
|
|
74
94
|
{
|
|
75
95
|
name: "bland_pathway_chat",
|
|
76
|
-
description: "
|
|
96
|
+
description: "Test a pathway interactively. First call: provide pathway_id + message, get back chat_id. Subsequent calls: provide chat_id + message. Check assistant_responses in the response. This is the primary way to verify a pathway works before making real calls.",
|
|
77
97
|
inputSchema: {
|
|
78
98
|
type: "object",
|
|
79
99
|
properties: {
|
|
80
|
-
pathway_id: { type: "string", description: "Pathway ID (required
|
|
81
|
-
chat_id: { type: "string", description: "Chat session ID (from first
|
|
82
|
-
message: { type: "string", description: "
|
|
100
|
+
pathway_id: { type: "string", description: "Pathway ID (required on first message to create session)" },
|
|
101
|
+
chat_id: { type: "string", description: "Chat session ID (returned from first call — use for subsequent messages)" },
|
|
102
|
+
message: { type: "string", description: "What the caller says" },
|
|
83
103
|
},
|
|
84
104
|
required: ["message"],
|
|
85
105
|
},
|
|
86
106
|
},
|
|
87
107
|
{
|
|
88
108
|
name: "bland_pathway_node_test",
|
|
89
|
-
description: "
|
|
109
|
+
description: "Stress-test a single node with AI-generated caller variations. Returns how the node responds to different inputs. Great for finding edge cases.",
|
|
90
110
|
inputSchema: {
|
|
91
111
|
type: "object",
|
|
92
112
|
properties: {
|
|
93
113
|
pathway_id: { type: "string", description: "Pathway ID" },
|
|
94
|
-
node_id: { type: "string", description: "Node ID to test" },
|
|
95
|
-
prompt: { type: "string", description: "Override node prompt" },
|
|
96
|
-
permutations: { type: "string", description: "Number of variations (default: 5)" },
|
|
114
|
+
node_id: { type: "string", description: "Node ID to test (from bland_pathway_get)" },
|
|
115
|
+
prompt: { type: "string", description: "Override the node's prompt for this test" },
|
|
116
|
+
permutations: { type: "string", description: "Number of caller variations to generate (default: 5)" },
|
|
97
117
|
},
|
|
98
118
|
required: ["pathway_id", "node_id"],
|
|
99
119
|
},
|
|
100
120
|
},
|
|
121
|
+
// ── Resources ──
|
|
101
122
|
{
|
|
102
123
|
name: "bland_persona_list",
|
|
103
|
-
description: "List
|
|
124
|
+
description: "List saved personas (reusable agent configurations with voice, prompt, and settings).",
|
|
104
125
|
inputSchema: { type: "object", properties: {} },
|
|
105
126
|
},
|
|
106
127
|
{
|
|
107
128
|
name: "bland_persona_get",
|
|
108
|
-
description: "Get persona details",
|
|
129
|
+
description: "Get persona details including voice, prompt, and configuration.",
|
|
109
130
|
inputSchema: {
|
|
110
131
|
type: "object",
|
|
111
132
|
properties: {
|
|
@@ -116,28 +137,28 @@ const MCP_TOOLS = [
|
|
|
116
137
|
},
|
|
117
138
|
{
|
|
118
139
|
name: "bland_number_list",
|
|
119
|
-
description: "List
|
|
140
|
+
description: "List phone numbers you own. These can be used as caller ID (from field) when making calls.",
|
|
120
141
|
inputSchema: { type: "object", properties: {} },
|
|
121
142
|
},
|
|
122
143
|
{
|
|
123
144
|
name: "bland_number_buy",
|
|
124
|
-
description: "Purchase a phone number",
|
|
145
|
+
description: "Purchase a new phone number. Specify area_code for a local number.",
|
|
125
146
|
inputSchema: {
|
|
126
147
|
type: "object",
|
|
127
148
|
properties: {
|
|
128
|
-
area_code: { type: "string", description: "Preferred area code" },
|
|
149
|
+
area_code: { type: "string", description: "Preferred area code (e.g. 415, 212)" },
|
|
129
150
|
country_code: { type: "string", description: "Country code (default: US)" },
|
|
130
151
|
},
|
|
131
152
|
},
|
|
132
153
|
},
|
|
133
154
|
{
|
|
134
155
|
name: "bland_voice_list",
|
|
135
|
-
description: "List available voices",
|
|
156
|
+
description: "List available voices for calls. Returns voice IDs and descriptions. Use a voice ID in bland_call_send or pathway global settings.",
|
|
136
157
|
inputSchema: { type: "object", properties: {} },
|
|
137
158
|
},
|
|
138
159
|
{
|
|
139
160
|
name: "bland_tool_test",
|
|
140
|
-
description: "Test a custom tool with sample input",
|
|
161
|
+
description: "Test a custom tool (webhook) with sample input to verify it returns expected data.",
|
|
141
162
|
inputSchema: {
|
|
142
163
|
type: "object",
|
|
143
164
|
properties: {
|
|
@@ -149,17 +170,17 @@ const MCP_TOOLS = [
|
|
|
149
170
|
},
|
|
150
171
|
{
|
|
151
172
|
name: "bland_knowledge_list",
|
|
152
|
-
description: "List knowledge bases",
|
|
173
|
+
description: "List knowledge bases. Knowledge bases can be attached to pathway nodes for RAG-powered responses.",
|
|
153
174
|
inputSchema: { type: "object", properties: {} },
|
|
154
175
|
},
|
|
155
176
|
{
|
|
156
177
|
name: "bland_audio_generate",
|
|
157
|
-
description: "Generate TTS audio from text",
|
|
178
|
+
description: "Generate TTS audio from text. Useful for previewing how a prompt will sound.",
|
|
158
179
|
inputSchema: {
|
|
159
180
|
type: "object",
|
|
160
181
|
properties: {
|
|
161
182
|
text: { type: "string", description: "Text to speak" },
|
|
162
|
-
voice: { type: "string", description: "Voice
|
|
183
|
+
voice: { type: "string", description: "Voice ID (default: nat)" },
|
|
163
184
|
},
|
|
164
185
|
required: ["text"],
|
|
165
186
|
},
|
|
@@ -167,6 +188,16 @@ const MCP_TOOLS = [
|
|
|
167
188
|
];
|
|
168
189
|
async function handleToolCall(name, args) {
|
|
169
190
|
switch (name) {
|
|
191
|
+
// ── Guides ──
|
|
192
|
+
case "bland_guide_list":
|
|
193
|
+
return GUIDES.map((g) => ({ slug: g.slug, title: g.title, summary: g.summary }));
|
|
194
|
+
case "bland_guide_get": {
|
|
195
|
+
const guide = getGuide(args.slug);
|
|
196
|
+
if (!guide)
|
|
197
|
+
throw new Error(`Unknown guide: ${args.slug}. Available: ${GUIDES.map((g) => g.slug).join(", ")}`);
|
|
198
|
+
return { slug: guide.slug, title: guide.title, content: guide.content };
|
|
199
|
+
}
|
|
200
|
+
// ── Calls ──
|
|
170
201
|
case "bland_call_send":
|
|
171
202
|
return api.post("/v1/calls", args);
|
|
172
203
|
case "bland_call_list":
|
|
@@ -312,8 +343,9 @@ function handleMessage(msg) {
|
|
|
312
343
|
},
|
|
313
344
|
serverInfo: {
|
|
314
345
|
name: "bland-cli",
|
|
315
|
-
version: "0.
|
|
346
|
+
version: "0.2.8",
|
|
316
347
|
},
|
|
348
|
+
instructions: buildMcpInstructions(),
|
|
317
349
|
},
|
|
318
350
|
});
|
|
319
351
|
break;
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAuCnD,MAAM,SAAS,GAAc;IAC3B;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,0CAA0C;QACvD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBACrE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAClE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBAChE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACtD,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBACnE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBAC9D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;aAC3D;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBACnE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;gBACtE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aACnE;SACF;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,6CAA6C;QAC1D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;aACpD;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,kCAAkC;QAC/C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;aAC1D;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,sGAAsG;QACnH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACrD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBACnE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBACpE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;aACrE;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,6GAA6G;QAC1H,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;gBACtF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;gBACjF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;aAC5D;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,mDAAmD;QAChE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;gBACzD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;gBAC3D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;gBAC/D,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;aACnF;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;SACpC;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;aAC1D;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBACjE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;aAC5E;SACF;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,uBAAuB;QACpC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,sCAAsC;QACnD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;gBACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;gBACtD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;aACtE;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;CACF,CAAC;AAEF,KAAK,UAAU,cAAc,CAC3B,IAAY,EACZ,IAA6B;IAE7B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,iBAAiB;YACpB,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAErC,KAAK,iBAAiB;YACpB,OAAO,GAAG,CAAC,GAAG,CAAmB,WAAW,EAAE;gBAC5C,KAAK,EAAE,IAAI,CAAC,KAA2B;gBACvC,UAAU,EAAE,IAAI,CAAC,UAAgC;gBACjD,QAAQ,EAAE,IAAI,CAAC,QAA8B;aAC9C,CAAC,CAAC;QAEL,KAAK,gBAAgB;YACnB,OAAO,GAAG,CAAC,GAAG,CAAa,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1D,KAAK,oBAAoB;YACvB,OAAO,GAAG,CAAC,GAAG,CAAY,mBAAmB,CAAC,CAAC;QAEjD,KAAK,mBAAmB;YACtB,OAAO,GAAG,CAAC,GAAG,CAAU,qBAAqB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAElE,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,mCAAmC;YACnC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAC5B,0BAA0B,EAC1B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAiC,EAAE,CACzE,CAAC;YACF,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;YAErC,kEAAkE;YAClE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7B,MAAM,GAAG,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,IAAc;oBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,SAAS;oBAChE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,SAAS;iBACjE,CAAC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9E,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,EAAE;oBAClD,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC,CAAC;YACL,CAAC;YACD,qBAAqB;YACrB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAC5B,yBAAyB,EACzB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAChC,CAAC;YACF,qBAAqB;YACrB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAC7B,oBAAoB,OAAO,CAAC,OAAO,EAAE,EACrC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAC1B,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,QAAmC,EAAE,CAAC;QAC9E,CAAC;QAED,KAAK,yBAAyB;YAC5B,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBACpC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,cAAc,EAAE,IAAI,CAAC,YAAY;oBAC/B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAsB,EAAE,EAAE,CAAC;oBAC3C,CAAC,CAAC,CAAC;aACN,CAAC,CAAC;QAEL,KAAK,oBAAoB;YACvB,OAAO,GAAG,CAAC,GAAG,CAAY,cAAc,CAAC,CAAC;QAE5C,KAAK,mBAAmB;YACtB,OAAO,GAAG,CAAC,GAAG,CAAU,gBAAgB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAE7D,KAAK,mBAAmB;YACtB,OAAO,GAAG,CAAC,GAAG,CAAqC,aAAa,CAAC,CAAC;QAEpE,KAAK,kBAAkB;YACrB,OAAO,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBACtC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;aACxC,CAAC,CAAC;QAEL,KAAK,kBAAkB;YACrB,OAAO,GAAG,CAAC,GAAG,CAAU,YAAY,CAAC,CAAC;QAExC,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;gBAC1B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAe,CAAC;gBAClC,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,OAAO,EAAE;gBAChD,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,sBAAsB;YACzB,OAAO,GAAG,CAAC,GAAG,CAAkB,eAAe,CAAC,CAAC;QAEnD,KAAK,sBAAsB;YACzB,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,KAAK;aACvC,CAAC,CAAC;QAEL;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAkB,EAClB,KAAa;IAEb,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,2DAA2D,CAC5D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6DAA6D;IAC7D,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC;QAEhB,0CAA0C;QAC1C,OAAO,IAAI,EAAE,CAAC;YACZ,iCAAiC;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,MAAM;YAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAC1C,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACpE,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,kCAAkC;gBAClC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtC,MAAM,GAAG,EAAE,CAAC;oBACZ,aAAa,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM;gBACR,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,aAAa,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;YAChC,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,aAAa;gBAAE,MAAM;YAErD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC;YAChE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC;YAEjD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,aAAa,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,YAAY,CAAC;oBACX,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,CAAC;oBACL,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE;iBAChD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,GAAmB;IACxC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,YAAY;YACf,YAAY,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE;oBACN,eAAe,EAAE,YAAY;oBAC7B,YAAY,EAAE;wBACZ,KAAK,EAAE,EAAE;qBACV;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,OAAO;qBACjB;iBACF;aACF,CAAC,CAAC;YACH,MAAM;QAER,KAAK,2BAA2B;YAC9B,uCAAuC;YACvC,MAAM;QAER,KAAK,YAAY;YACf,YAAY,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE;oBACN,KAAK,EAAE,SAAS;iBACjB;aACF,CAAC,CAAC;YACH,MAAM;QAER,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAI,GAAG,CAAC,MAA2B,CAAC,IAAI,CAAC;YACvD,MAAM,QAAQ,GAAG,CAAE,GAAG,CAAC,MAAkD,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAE3F,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC;iBAC/B,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,YAAY,CAAC;oBACX,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,MAAM,EAAE;wBACN,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,YAAY,CAAC;oBACX,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,MAAM,EAAE;wBACN,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;6BACnE;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACL,MAAM;QACR,CAAC;QAED;YACE,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBACzB,YAAY,CAAC;oBACX,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,GAAG,CAAC,MAAM,EAAE,EAAE;iBACpE,CAAC,CAAC;YACL,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,QAAyB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,mBAAmB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAuC1E,MAAM,SAAS,GAAc;IAC3B,eAAe;IACf;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,gLAAgL;QAC7L,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,8PAA8P;QAC3Q,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gEAAgE,EAAE;aACxG;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IAED,cAAc;IACd;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,kLAAkL;QAC/L,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kEAAkE,EAAE;gBACjH,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2DAA2D,EAAE;gBAClG,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+DAA+D,EAAE;gBAC5G,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;gBACxF,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;gBAChF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;gBACtF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qEAAqE,EAAE;aAC7G;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,yIAAyI;QACtJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBACnE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;gBACtE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aACnE;SACF;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,yIAAyI;QACtJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4DAA4D,EAAE;aACvG;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IAED,iBAAiB;IACjB;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,qHAAqH;QAClI,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,sKAAsK;QACnL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;aAC1D;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,mMAAmM;QAChN,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACrD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;gBACtE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oIAAoI,EAAE;gBAC5K,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4HAA4H,EAAE;aACrK;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,+PAA+P;QAC5Q,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0DAA0D,EAAE;gBACvG,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0EAA0E,EAAE;gBACpH,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;aACjE;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,iJAAiJ;QAC9J,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;gBACzD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACpF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBACnF,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sDAAsD,EAAE;aACtG;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;SACpC;KACF;IAED,kBAAkB;IAClB;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,uFAAuF;QACpG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;aAC1D;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;SACzB;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,4FAA4F;QACzG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,oEAAoE;QACjF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;gBACjF,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;aAC5E;SACF;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,oIAAoI;QACjJ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,oFAAoF;QACjG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;gBACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACpE;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,mGAAmG;QAChH,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,8EAA8E;QAC3F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;gBACtD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;aAClE;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;CACF,CAAC;AAEF,KAAK,UAAU,cAAc,CAC3B,IAAY,EACZ,IAA6B;IAE7B,QAAQ,IAAI,EAAE,CAAC;QACb,eAAe;QACf,KAAK,kBAAkB;YACrB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAEnF,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,IAAI,gBAAgB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/G,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1E,CAAC;QAED,cAAc;QACd,KAAK,iBAAiB;YACpB,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAErC,KAAK,iBAAiB;YACpB,OAAO,GAAG,CAAC,GAAG,CAAmB,WAAW,EAAE;gBAC5C,KAAK,EAAE,IAAI,CAAC,KAA2B;gBACvC,UAAU,EAAE,IAAI,CAAC,UAAgC;gBACjD,QAAQ,EAAE,IAAI,CAAC,QAA8B;aAC9C,CAAC,CAAC;QAEL,KAAK,gBAAgB;YACnB,OAAO,GAAG,CAAC,GAAG,CAAa,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1D,KAAK,oBAAoB;YACvB,OAAO,GAAG,CAAC,GAAG,CAAY,mBAAmB,CAAC,CAAC;QAEjD,KAAK,mBAAmB;YACtB,OAAO,GAAG,CAAC,GAAG,CAAU,qBAAqB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAElE,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,mCAAmC;YACnC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAC5B,0BAA0B,EAC1B,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAiC,EAAE,CACzE,CAAC;YACF,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;YAErC,kEAAkE;YAClE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC7B,MAAM,GAAG,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,IAAc;oBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,SAAS;oBAChE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,SAAS;iBACjE,CAAC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QAC9E,CAAC;QAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,EAAE;oBAClD,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC,CAAC;YACL,CAAC;YACD,qBAAqB;YACrB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAC5B,yBAAyB,EACzB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAChC,CAAC;YACF,qBAAqB;YACrB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAC7B,oBAAoB,OAAO,CAAC,OAAO,EAAE,EACrC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAC1B,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,QAAmC,EAAE,CAAC;QAC9E,CAAC;QAED,KAAK,yBAAyB;YAC5B,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE;gBACpC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,cAAc,EAAE,IAAI,CAAC,YAAY;oBAC/B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAsB,EAAE,EAAE,CAAC;oBAC3C,CAAC,CAAC,CAAC;aACN,CAAC,CAAC;QAEL,KAAK,oBAAoB;YACvB,OAAO,GAAG,CAAC,GAAG,CAAY,cAAc,CAAC,CAAC;QAE5C,KAAK,mBAAmB;YACtB,OAAO,GAAG,CAAC,GAAG,CAAU,gBAAgB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAE7D,KAAK,mBAAmB;YACtB,OAAO,GAAG,CAAC,GAAG,CAAqC,aAAa,CAAC,CAAC;QAEpE,KAAK,kBAAkB;YACrB,OAAO,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBACtC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;aACxC,CAAC,CAAC;QAEL,KAAK,kBAAkB;YACrB,OAAO,GAAG,CAAC,GAAG,CAAU,YAAY,CAAC,CAAC;QAExC,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;gBAC1B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAe,CAAC;gBAClC,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,OAAO,EAAE;gBAChD,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,sBAAsB;YACzB,OAAO,GAAG,CAAC,GAAG,CAAkB,eAAe,CAAC,CAAC;QAEnD,KAAK,sBAAsB;YACzB,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,KAAK;aACvC,CAAC,CAAC;QAEL;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAkB,EAClB,KAAa;IAEb,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,2DAA2D,CAC5D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6DAA6D;IAC7D,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC;QAEhB,0CAA0C;QAC1C,OAAO,IAAI,EAAE,CAAC;YACZ,iCAAiC;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,MAAM;YAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAC1C,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACpE,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,kCAAkC;gBAClC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtC,MAAM,GAAG,EAAE,CAAC;oBACZ,aAAa,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM;gBACR,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,aAAa,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;YAChC,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,aAAa;gBAAE,MAAM;YAErD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC;YAChE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC;YAEjD,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,aAAa,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,YAAY,CAAC;oBACX,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,CAAC;oBACL,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE;iBAChD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,GAAmB;IACxC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,KAAK,YAAY;YACf,YAAY,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE;oBACN,eAAe,EAAE,YAAY;oBAC7B,YAAY,EAAE;wBACZ,KAAK,EAAE,EAAE;qBACV;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,OAAO;qBACjB;oBACD,YAAY,EAAE,oBAAoB,EAAE;iBACrC;aACF,CAAC,CAAC;YACH,MAAM;QAER,KAAK,2BAA2B;YAC9B,uCAAuC;YACvC,MAAM;QAER,KAAK,YAAY;YACf,YAAY,CAAC;gBACX,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE;oBACN,KAAK,EAAE,SAAS;iBACjB;aACF,CAAC,CAAC;YACH,MAAM;QAER,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,QAAQ,GAAI,GAAG,CAAC,MAA2B,CAAC,IAAI,CAAC;YACvD,MAAM,QAAQ,GAAG,CAAE,GAAG,CAAC,MAAkD,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAE3F,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC;iBAC/B,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,YAAY,CAAC;oBACX,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,MAAM,EAAE;wBACN,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;6BACtC;yBACF;qBACF;iBACF,CAAC,CAAC;YACL,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,YAAY,CAAC;oBACX,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,MAAM,EAAE;wBACN,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;6BACnE;yBACF;wBACD,OAAO,EAAE,IAAI;qBACd;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACL,MAAM;QACR,CAAC;QAED;YACE,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBACzB,YAAY,CAAC;oBACX,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,GAAG,CAAC,MAAM,EAAE,EAAE;iBACpE,CAAC,CAAC;YACL,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,QAAyB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,mBAAmB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
|