Skip to content

Commit b2d22f4

Browse files
authored
feat(adk): cli + steps + general updates (#360)
* wip * update cli * address comments
1 parent 979f56b commit b2d22f4

File tree

11 files changed

+1004
-34
lines changed

11 files changed

+1004
-34
lines changed

.vale/styles/config/ignore/ignore.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,6 @@ dev
3636
lookups
3737
micropatch
3838
recrawling
39-
resync
39+
resync
40+
deduplication
41+
monorepos

docs.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,13 @@
403403
"group": "Concepts",
404404
"pages": [
405405
"for-developers/adk/concepts/conversations",
406-
"for-developers/adk/concepts/workflows",
406+
{
407+
"group": "Workflows",
408+
"pages": [
409+
"for-developers/adk/concepts/workflows/overview",
410+
"for-developers/adk/concepts/workflows/steps"
411+
]
412+
},
407413
"for-developers/adk/concepts/actions",
408414
"for-developers/adk/concepts/tables",
409415
"for-developers/adk/concepts/triggers",

for-developers/adk/cli-reference.mdx

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ adk deploy --env production
9292
| Flag | Description | Default |
9393
|------|-------------|---------|
9494
| `-e, --env` | Deployment environment | `production` |
95+
| `-y, --yes` | Auto-approve preflight changes without prompting | `false` |
9596

9697
---
9798

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

140141
---
141142

143+
### `adk mcp`
144+
145+
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.
146+
147+
**Usage:**
148+
```bash
149+
adk mcp
150+
adk mcp --cwd ./my-agent
151+
```
152+
153+
**Flags:**
154+
155+
| Flag | Description |
156+
|------|-------------|
157+
| `--cwd` | Working directory for MCP operations |
158+
159+
#### `adk mcp:init`
160+
161+
Generate MCP configuration files for AI assistants.
162+
163+
**Usage:**
164+
```bash
165+
adk mcp:init --tool cursor
166+
adk mcp:init --tool claude-code --tool vscode
167+
adk mcp:init --all
168+
adk mcp:init --all --force
169+
adk mcp:init --tool cursor --project-dir ./bot
170+
```
171+
172+
**Flags:**
173+
174+
| Flag | Description |
175+
|------|-------------|
176+
| `--tool` | Specific tool(s) to configure: `claude-code`, `vscode`, `cursor` |
177+
| `--all` | Generate configuration for all supported tools |
178+
| `--force` | Overwrite existing ADK configuration |
179+
| `--project-dir` | ADK project subdirectory (for monorepos, e.g., `./bot`) |
180+
181+
---
182+
142183
### `adk login`
143184

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

329372
---
330373

@@ -403,6 +446,122 @@ adk assets pull
403446

404447
---
405448

449+
### `adk config`
450+
451+
Configure agent settings interactively or manage specific configuration values.
452+
453+
**Usage:**
454+
```bash
455+
adk config
456+
adk config --prod
457+
```
458+
459+
**Flags:**
460+
461+
| Flag | Description |
462+
|------|-------------|
463+
| `--prod` | Use production configuration |
464+
465+
#### `adk config:get`
466+
467+
Get a specific configuration value.
468+
469+
**Usage:**
470+
```bash
471+
adk config:get <key>
472+
adk config:get myKey --prod
473+
```
474+
475+
**Arguments:**
476+
477+
| Argument | Description |
478+
|----------|-------------|
479+
| `key` | Configuration key to retrieve |
480+
481+
**Flags:**
482+
483+
| Flag | Description |
484+
|------|-------------|
485+
| `--prod` | Use production configuration |
486+
487+
#### `adk config:set`
488+
489+
Set a specific configuration value.
490+
491+
**Usage:**
492+
```bash
493+
adk config:set <key> <value>
494+
adk config:set myKey myValue --prod
495+
```
496+
497+
**Arguments:**
498+
499+
| Argument | Description |
500+
|----------|-------------|
501+
| `key` | Configuration key to set |
502+
| `value` | Configuration value |
503+
504+
**Flags:**
505+
506+
| Flag | Description |
507+
|------|-------------|
508+
| `--prod` | Use production configuration |
509+
510+
---
511+
512+
### `adk kb`
513+
514+
Manage knowledge bases and synchronization.
515+
516+
#### `adk kb sync`
517+
518+
Synchronize knowledge bases with Botpress.
519+
520+
**Usage:**
521+
```bash
522+
adk kb sync --dev
523+
adk kb sync --prod
524+
adk kb sync --dev --dry-run
525+
adk kb sync --prod --force --yes
526+
```
527+
528+
**Flags:**
529+
530+
| Flag | Description |
531+
|------|-------------|
532+
| `--dev` | Sync with development bot |
533+
| `--prod` | Sync with production bot |
534+
| `--dry-run` | Preview changes without applying them |
535+
| `-y, --yes` | Skip confirmation prompts |
536+
| `--force` | Force re-sync all knowledge bases |
537+
538+
<Note>
539+
Either `--dev` or `--prod` is required when running `adk kb sync`.
540+
</Note>
541+
542+
---
543+
544+
### `adk telemetry`
545+
546+
Manage telemetry preferences.
547+
548+
**Usage:**
549+
```bash
550+
adk telemetry --status
551+
adk telemetry --enable
552+
adk telemetry --disable
553+
```
554+
555+
**Flags:**
556+
557+
| Flag | Description |
558+
|------|-------------|
559+
| `--status` | Show current telemetry status |
560+
| `--enable` | Enable telemetry |
561+
| `--disable` | Disable telemetry |
562+
563+
---
564+
406565
## Project scripts
407566

408567
The ADK also provides npm scripts that you can use in your `package.json`:

for-developers/adk/concepts/conversations.mdx

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,58 @@ export default new Conversation({
116116
});
117117
```
118118

119+
## Conversation instance
120+
121+
The `handler` receives a `conversation` object that provides methods to interact with the current conversation:
122+
123+
### Sending messages
124+
125+
Send a message to the conversation:
126+
127+
```typescript
128+
await conversation.send({
129+
type: "text",
130+
payload: { text: "Hello!" },
131+
});
132+
```
133+
134+
### Typing indicators
135+
136+
Control typing indicators:
137+
138+
```typescript
139+
await conversation.startTyping();
140+
// ... do some work ...
141+
await conversation.stopTyping();
142+
```
143+
144+
### Conversation tags
145+
146+
Access and modify conversation tags:
147+
148+
```typescript
149+
// Read tags
150+
const priority = conversation.tags.priority;
151+
152+
// Set tags
153+
conversation.tags.priority = "high";
154+
```
155+
156+
### Trigger subscriptions
157+
158+
Subscribe a conversation to triggers:
159+
160+
```typescript
161+
// Subscribe to a trigger
162+
await conversation.subscribeToTrigger("myTrigger");
163+
164+
// Subscribe with a key for filtered triggers
165+
await conversation.subscribeToTrigger("myTrigger", "specific-key");
166+
167+
// Unsubscribe
168+
await conversation.unsubscribeFromTrigger("myTrigger");
169+
```
170+
119171
## Multiple conversations
120172

121173
You can create multiple conversation handlers for different channels or use cases:

0 commit comments

Comments
 (0)