docs: Renamed user__ask to user__select
+8
-8
@@ -725,16 +725,16 @@ REPL mode when function calling is enabled.
|
||||
|
||||
## User Interaction Available Tools
|
||||
|
||||
| Tool | Description | Returns |
|
||||
|------------------|-----------------------------------------|----------------------------------|
|
||||
| `user__ask` | Present a single-select list of options | The selected option string |
|
||||
| `user__confirm` | Ask a yes/no question | `"yes"` or `"no"` |
|
||||
| `user__input` | Request free-form text input | The text entered by the user |
|
||||
| `user__checkbox` | Present a multi-select checkbox list | Array of selected option strings |
|
||||
| Tool | Description | Returns |
|
||||
|-------------------|------------------------------------------------------------------------------------------------------------------------------|----------------------------------|
|
||||
| `user__select` | Present a list of named options and ask the user to pick exactly one. Use this — not `confirm` — whenever there are 2+ named options to choose between. | The selected option string |
|
||||
| `user__confirm` | Ask a genuinely binary yes/no question with no other choices. Do NOT use for "A or B?" situations; use `select` instead. | `"yes"` or `"no"` |
|
||||
| `user__input` | Collect free-form text from the user when no predefined options exist. | The text entered by the user |
|
||||
| `user__checkbox` | Ask the user to pick one or more options from a list (multi-select). Use when multiple answers are valid simultaneously. | Array of selected option strings |
|
||||
|
||||
**Parameters:**
|
||||
|
||||
- `user__ask`: `--question "..." --options ["Option A", "Option B", "Option C"]`
|
||||
- `user__select`: `--question "..." --options ["Option A", "Option B", "Option C"]`
|
||||
- `user__confirm`: `--question "..."`
|
||||
- `user__input`: `--question "..."`
|
||||
- `user__checkbox`: `--question "..." --options ["Option A", "Option B", "Option C"]`
|
||||
@@ -747,7 +747,7 @@ checkboxes, and text input fields.
|
||||
When a **child agent** (depth > 0) calls a `user__*` tool, it cannot prompt the terminal directly. Instead,
|
||||
the request is **automatically escalated** to the root agent:
|
||||
|
||||
1. The child agent calls `user__ask(...)` and **blocks**, waiting for a reply
|
||||
1. The child agent calls `user__select(...)` and **blocks**, waiting for a reply
|
||||
2. The root agent sees a `pending_escalations` notification in its next tool results
|
||||
3. The root agent either answers from context or prompts the user itself, then calls
|
||||
`agent__reply_escalation` to unblock the child
|
||||
|
||||
+2
-2
@@ -354,7 +354,7 @@ approve:
|
||||
|
||||
### The `on_other` field
|
||||
|
||||
This field is **required** and easy to miss. Coyote's `user__ask` tool *always*
|
||||
This field is **required** and easy to miss. Coyote's `user__select` tool *always*
|
||||
gives the user a "type your own answer" option in addition to the listed
|
||||
options. There is no way to disable this. Without `on_other`, a user who
|
||||
types something other than the listed options would crash the graph at
|
||||
@@ -1462,7 +1462,7 @@ A short, honest list of things that bite people:
|
||||
- **A `rag` node's knowledge base is built once, at load time**. Changing
|
||||
a `rag` node's `documents` does not rebuild it. Delete
|
||||
`<agent-dir>/<node-id>.yaml` to force a fresh build on next run.
|
||||
- **`on_other` is required on every `approval` node** because `user__ask`
|
||||
- **`on_other` is required on every `approval` node** because `user__select`
|
||||
always permits free-form responses (see [the approval section](#approval)).
|
||||
- **`validation` on `input` nodes is length-only**. The grammar is
|
||||
`len(input) <op> <integer>` with `<op>` in `> >= < <= ==`. No regex, no
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ things like
|
||||
* **Configurable Keybindings:** You can switch between `emacs` style keybindings or `vi` style keybindings
|
||||
* [**Custom REPL Prompt:**](REPL-Prompt) You can even customize the REPL prompt to display information about the
|
||||
current context in the prompt
|
||||
* **Built-in user interaction tools:** When function calling is enabled in the REPL, the `user__ask`, `user__confirm`,
|
||||
* **Built-in user interaction tools:** When function calling is enabled in the REPL, the `user__select`, `user__confirm`,
|
||||
`user__input`, and `user__checkbox` tools are always available for interactive prompts. These are not injected in the
|
||||
one-shot CLI mode.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user