• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dcdpr / jp / 19031308849
58%

Build:
DEFAULT BRANCH: main
Ran 03 Nov 2025 10:27AM UTC
Jobs 1
Files 152
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 Nov 2025 10:24AM UTC coverage: 48.095% (-0.4%) from 48.445%
19031308849

push

github

web-flow
feat(cli, config): Add Git-style interactive prompts with turn-level answer persistence (#307)

Replace simple `yes`/`no` confirmations with Git-style inline select
prompts that provide users with more runtime control over tool
execution. When tools request user input, users can now choose between
multiple options presented inline (e.g., `[y,n,e,r,?]`), similar to `git
add -p`.

For tool execution confirmations, users can now:

- `y` - Run the tool as-is
- `n` - Skip execution with default message
- `e` - Edit tool arguments before running
- `r` - Skip with custom reasoning message

For boolean tool questions (e.g., "overwrite existing file?"), users can
additionally choose to remember their answer for the duration of the
turn (`Y`/`N`), automatically applying the same answer to subsequent
identical questions within the same LLM interaction.

This eliminates the need to reconfigure tools at configuration time for
different interaction scenarios. Users maintain full runtime control
while automated workflows can pre-configure answers via the new
`tool.answers` configuration field.

The implementation introduces a new `jp_inquire` crate that wraps the
upstream `inquire` library with Git-style prompt patterns. It also adds
`TurnState` to track persisted answers across tool calls within a single
turn, and extends `ToolConfig` with an `answers` field for
configuration-level automation.

Tool execution flow is refactored into `prepare_run()` and
`prepare_result()` methods for clearer separation of concerns, and new
`RunMode::Never` and `ResultMode::Never` variants enable explicit
rejection workflows with custom reasoning.

Related: #199

---------

Signed-off-by: Jean Mertz <git@jeanmertz.com>

47 of 345 new or added lines in 7 files covered. (13.62%)

5 existing lines in 4 files now uncovered.

7699 of 16008 relevant lines covered (48.09%)

14.5 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
0.0
0.0% crates/jp_cli/src/cmd/conversation/rm.rs
19
38.8
-1.71% crates/jp_config/src/conversation/tool.rs
20
29.43
-0.07% crates/jp_cli/src/cmd/query.rs
39
48.68
crates/jp_inquire/src/inline_select.rs
47
32.94
-3.58% crates/jp_cli/src/cmd/query/event.rs
172
12.3
-1.5% crates/jp_llm/src/tool.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
0.0
0.0% crates/jp_cli/src/cmd/conversation/rm.rs
1
29.43
-0.07% crates/jp_cli/src/cmd/query.rs
1
38.8
-1.71% crates/jp_config/src/conversation/tool.rs
2
12.3
-1.5% crates/jp_llm/src/tool.rs
Jobs
ID Job ID Ran Files Coverage
1 19031308849.1 03 Nov 2025 10:27AM UTC 152
48.09
GitHub Action Run
Source Files on build 19031308849
  • Tree
  • List 152
  • Changed 7
  • Source Changed 7
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #19031308849
  • 60c25218 on github
  • Prev Build on main (#18903809017)
  • Next Build on main (#19033105445)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc