Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .vale/styles/config/ignore/ignore.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,6 @@ dev
lookups
micropatch
recrawling
resync
resync
deduplication
monorepos
8 changes: 7 additions & 1 deletion docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,13 @@
"group": "Concepts",
"pages": [
"for-developers/adk/concepts/conversations",
"for-developers/adk/concepts/workflows",
{
"group": "Workflows",
"pages": [
"for-developers/adk/concepts/workflows/overview",
"for-developers/adk/concepts/workflows/steps"
]
},
"for-developers/adk/concepts/actions",
"for-developers/adk/concepts/tables",
"for-developers/adk/concepts/triggers",
Expand Down
159 changes: 159 additions & 0 deletions for-developers/adk/cli-reference.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ adk deploy --env production
| Flag | Description | Default |
|------|-------------|---------|
| `-e, --env` | Deployment environment | `production` |
| `-y, --yes` | Auto-approve preflight changes without prompting | `false` |

---

Expand Down Expand Up @@ -139,6 +140,46 @@ Run `adk dev` first to create a development bot if you don't have a `devId` in y

---

### `adk mcp`

Start an MCP (Model Context Protocol) server for AI assistant integration. This allows AI coding assistants like Claude Code and Cursor to interact with your ADK agent.

**Usage:**
```bash
adk mcp
adk mcp --cwd ./my-agent
```

**Flags:**

| Flag | Description |
|------|-------------|
| `--cwd` | Working directory for MCP operations |

#### `adk mcp:init`

Generate MCP configuration files for AI assistants.

**Usage:**
```bash
adk mcp:init --tool cursor
adk mcp:init --tool claude-code --tool vscode
adk mcp:init --all
adk mcp:init --all --force
adk mcp:init --tool cursor --project-dir ./bot
```

**Flags:**

| Flag | Description |
|------|-------------|
| `--tool` | Specific tool(s) to configure: `claude-code`, `vscode`, `cursor` |
| `--all` | Generate configuration for all supported tools |
| `--force` | Overwrite existing ADK configuration |
| `--project-dir` | ADK project subdirectory (for monorepos, e.g., `./bot`) |

---

### `adk login`

Authenticate with your Botpress account.
Expand Down Expand Up @@ -325,6 +366,8 @@ adk link --workspace <workspaceId> --bot <botId> --dev <devBotId>
| `--workspace` | Workspace ID |
| `--bot` | Bot ID to link to |
| `--dev` | Dev bot ID (optional) |
| `--api-url` | Botpress API URL (e.g., `https://api.botpress.cloud`) |
| `-f, --force` | Overwrite existing `agent.json` if present |

---

Expand Down Expand Up @@ -403,6 +446,122 @@ adk assets pull

---

### `adk config`

Configure agent settings interactively or manage specific configuration values.

**Usage:**
```bash
adk config
adk config --prod
```

**Flags:**

| Flag | Description |
|------|-------------|
| `--prod` | Use production configuration |

#### `adk config:get`

Get a specific configuration value.

**Usage:**
```bash
adk config:get <key>
adk config:get myKey --prod
```

**Arguments:**

| Argument | Description |
|----------|-------------|
| `key` | Configuration key to retrieve |

**Flags:**

| Flag | Description |
|------|-------------|
| `--prod` | Use production configuration |

#### `adk config:set`

Set a specific configuration value.

**Usage:**
```bash
adk config:set <key> <value>
adk config:set myKey myValue --prod
```

**Arguments:**

| Argument | Description |
|----------|-------------|
| `key` | Configuration key to set |
| `value` | Configuration value |

**Flags:**

| Flag | Description |
|------|-------------|
| `--prod` | Use production configuration |

---

### `adk kb`

Manage knowledge bases and synchronization.

#### `adk kb sync`

Synchronize knowledge bases with Botpress.

**Usage:**
```bash
adk kb sync --dev
adk kb sync --prod
adk kb sync --dev --dry-run
adk kb sync --prod --force --yes
```

**Flags:**

| Flag | Description |
|------|-------------|
| `--dev` | Sync with development bot |
| `--prod` | Sync with production bot |
| `--dry-run` | Preview changes without applying them |
| `-y, --yes` | Skip confirmation prompts |
| `--force` | Force re-sync all knowledge bases |

<Note>
Either `--dev` or `--prod` is required when running `adk kb sync`.
</Note>

---

### `adk telemetry`

Manage telemetry preferences.

**Usage:**
```bash
adk telemetry --status
adk telemetry --enable
adk telemetry --disable
```

**Flags:**

| Flag | Description |
|------|-------------|
| `--status` | Show current telemetry status |
| `--enable` | Enable telemetry |
| `--disable` | Disable telemetry |

---

## Project scripts

The ADK also provides npm scripts that you can use in your `package.json`:
Expand Down
52 changes: 52 additions & 0 deletions for-developers/adk/concepts/conversations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,58 @@ export default new Conversation({
});
```

## Conversation instance

The `handler` receives a `conversation` object that provides methods to interact with the current conversation:

### Sending messages

Send a message to the conversation:

```typescript
await conversation.send({
type: "text",
payload: { text: "Hello!" },
});
```

### Typing indicators

Control typing indicators:

```typescript
await conversation.startTyping();
// ... do some work ...
await conversation.stopTyping();
```

### Conversation tags

Access and modify conversation tags:

```typescript
// Read tags
const priority = conversation.tags.priority;

// Set tags
conversation.tags.priority = "high";
```

### Trigger subscriptions

Subscribe a conversation to triggers:

```typescript
// Subscribe to a trigger
await conversation.subscribeToTrigger("myTrigger");

// Subscribe with a key for filtered triggers
await conversation.subscribeToTrigger("myTrigger", "specific-key");

// Unsubscribe
await conversation.unsubscribeFromTrigger("myTrigger");
```

## Multiple conversations

You can create multiple conversation handlers for different channels or use cases:
Expand Down
Loading