You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,18 @@ Living plan (what’s next): [`doc/roadmap.md`](doc/roadmap.md).
12
12
13
13
## [Unreleased]
14
14
15
+
## [0.1.8.1] — 2026-09-07
16
+
17
+
Copilot rail starters can fill the chat input without sending.
18
+
19
+
### Added
20
+
21
+
- Copilot rail **deferred example questions** — `copilot_rail(..., deferred=True)` copies the question into the chat input on click instead of sending it. Per-item override: `{"title", "question", "deferred": True}` (or a `(title, question, deferred)` triple). Starters stay visible until a turn is actually sent.
22
+
23
+
### Changed
24
+
25
+
- BI → Semantic (`make bi-semantic`) passes `deferred=True` so starter clicks fill the input for edit-then-send. App Builder still sends on click.
26
+
15
27
## [0.1.8] — 2026-09-06
16
28
17
29
App Builder for business users, plus rail starter questions and Display config.
|`example_questions`|`None`| After Connect, starter buttons on an empty transcript. Each item is `{title, question}` (or a `(title, question)` pair). Hover shows the question; click sends it. Hidden once a user/assistant turn or a job is present |
186
+
|`example_questions`|`None`| After Connect, starter buttons on an empty transcript. Each item is `{title, question}` (or a `(title, question)` pair). Hover shows the question; click sends it unless `deferred`. Hidden once a user/assistant turn or a job is present |
187
+
|`deferred`|`False`| When `True`, clicking an example question copies the prompt into the chat input and does not run it. Per-item override: `{"title", "question", "deferred": True}` (or a `(title, question, deferred)` triple) |
| UI golden path — app-builder |**Automated** (`0.1.8`) |[`app-builder/test-checklist.md`](app-builder/test-checklist.md) — `make test-all` 2026-09-06; live CoCo sign-off still open |
Copy file name to clipboardExpand all lines: doc/features/copilot-rail/copilot-rail.md
+14-5Lines changed: 14 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
Reusable right-rail Copilot for Streamlit apps: connection, queued jobs,
4
4
transcript compactness, `panel()`, and `chat_input_bar()`.
5
5
6
-
**Status:** Shipped in **`0.1.6`**. Example questions + Display config popover in **`0.1.8`**.
6
+
**Status:** Shipped in **`0.1.6`**. Example questions + Display config popover in **`0.1.8`**.`deferred=` example questions in **`0.1.8.1`**.
7
7
8
8
## What
9
9
@@ -13,7 +13,7 @@ transcript compactness, `panel()`, and `chat_input_bar()`.
13
13
2. Connection popover with an icon-only **Display config** popover beside it (`:material/display_settings:`, no label; hover = **Display config**). While CoCo is busy, a compact **Working · thinking…** (or tool / needs-input) badge sits on that same row — not a tall status card.
14
14
3. Active job caption
15
15
4.`panel()` (approvals, stream, stop)
16
-
5. After Connect, on an empty transcript: **example question** buttons (`title` on the button, `question` on hover). Click sends the question to CoCo. They hide after the first user/assistant turn or while a job is queued.
16
+
5. After Connect, on an empty transcript: **example question** buttons (`title` on the button, `question` on hover). Click sends the question to CoCo, or — with `deferred=True` — copies it into the chat input without running it. They hide after the first user/assistant turn or while a job is queued.
17
17
6. Chat input
18
18
19
19
`transcript_display_config()` is the rail control: pills plus sliders for
@@ -55,7 +55,13 @@ st_coco.copilot_rail(
55
55
show_transcript_filters=True,
56
56
example_questions=[
57
57
{"title": "List the files", "question": "What files are in cwd?"},
58
+
{
59
+
"title": "Draft a SQL check",
60
+
"question": "Write a query that counts rows in MY_TABLE.",
61
+
"deferred": True,
62
+
},
58
63
],
64
+
deferred=False, # True: every starter fills the chat input instead of sending
59
65
)
60
66
```
61
67
@@ -76,8 +82,11 @@ so the transcript updates live.
76
82
77
83
Example questions (opt-in via `example_questions=`): after Connect, starter
78
84
buttons sit under the empty transcript. Hover shows the full question; click
79
-
calls `send_prompt`. They disappear once a turn starts, the chat has a user
80
-
or assistant message, or a job is present, and return after **Clear chat**.
85
+
calls `send_prompt` unless `deferred=True` (rail-wide) or the item sets
86
+
`deferred`. Deferred clicks copy the question into `chat_input_bar` and do
87
+
not run it — the user can edit, then submit. Starters disappear once a turn
88
+
starts, the chat has a user or assistant message, or a job is present, and
89
+
return after **Clear chat**. A deferred click does not hide them.
81
90
82
91
## Limitations
83
92
@@ -87,7 +96,7 @@ or assistant message, or a job is present, and return after **Clear chat**.
87
96
`panel()` still has its own streaming fragment so the icon stays clickable
88
97
while CoCo runs.
89
98
- Tool cards are not character-truncated (they are already compact expanders).
90
-
- Version tag for this API is **`0.1.6`** (`pip install "streamlit-coco[sdk]==0.1.6"`).
99
+
- Version tag for this API is **`0.1.8.1`** (`pip install "streamlit-coco[sdk]==0.1.8.1"`). Rail chrome shipped in `0.1.6`; example questions in `0.1.8`; `deferred=` in `0.1.8.1`.
Copy file name to clipboardExpand all lines: doc/features/copilot-rail/test-checklist.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,6 +18,7 @@
18
18
| 2 | Connect | Environment status; Copilot ready caption. If the app passed `example_questions`, starter buttons appear under the empty transcript (title on the button) |
19
19
| 2a | Hover a starter button | Tooltip shows the **question** text (not just the title) |
20
20
| 2b | Click a starter | The question is sent as a user turn; starters hide; CoCo runs |
21
+
| 2b-deferred | Click a starter with `deferred=True` (rail or item) | The question text appears in the chat input and is **not** sent. Starters stay visible. Submit from the input to run |
| 3 | Open the icon-only **Display config** popover (Material `display_settings`, no label) | Pills **Last messages** / **First n characters** plus two sliders. Hover on the icon shows **Display config**. No **Transcript** heading on the rail |
23
24
| 4 | Leave both pills on (default) | Only recent turns (default 8); user/assistant text capped at 200 chars |
0 commit comments