NCBM
ec5e6ab0f4
core/cli: multiline \"\"\" input and /edit via EDITOR
...
Add triple-quote block messages in the REPL and /edit to compose a turn
in $EDITOR (temp file). Empty multiline or empty edit cancels.
2026-07-15 13:29:00 +08:00
NCBM
00c3350225
core/cli: clearer /stream /tools /verbose help text
...
Use metavar [on|off] and document default/effect so /help stream is
readable without guessing ENABLED.
2026-07-15 13:17:51 +08:00
NCBM
ffab066cab
core/cli: drop Click --help from slash commands
...
Slash commands use add_help_option=False and empty options_metavar so
/help shows Usage: /history [N] without a fake Options/--help section.
2026-07-15 13:14:47 +08:00
NCBM
5e016c012b
core/cli: fix /help command usage line and help Tab completion
...
Use a standalone Click context so /help compact shows Usage: /compact,
not nested under help. Complete /help <cmd> from the slash registry.
2026-07-15 13:09:24 +08:00
NCBM
5b0c9be90b
core/cli: Click slash registry with awaitlet bridge
...
Register REPL slash commands as a Click Group (params, UsageError, help).
Dispatch via awaitlet.async_def so sync command bodies can awaitlet()
async memory/confirm work. Completer and /help derive from the registry.
2026-07-15 13:03:55 +08:00
NCBM
9d05988245
core/memory+cli: session rename, delete, and export
...
Add MemoryStore rename/delete with explicit message cleanup. Slash
commands /rename, /delete (confirm), /export md|json write transcripts
from DB; deleting the current session starts a fresh empty one.
2026-07-15 12:26:52 +08:00
NCBM
04d421a4b5
core/agent+cli: reasoning deltas, /stream and /verbose
...
Decode and stream reasoning_content as ReasoningDeltaEvent; keep it on
assistant messages. CLI shows dim reasoning, toggles stream/verbose, and
prints full tool results when verbose.
2026-07-15 12:11:19 +08:00
NCBM
aaf7fe8e7b
ci/lint: ruff format pass and fix compact seed test typing
...
Apply pending ruff format; narrow AssistantChatMessage.content before
membership checks so basedpyright accepts Unset|None unions.
2026-07-15 11:36:01 +08:00
NCBM
c9e805f38d
core/agent+cli: treat last-request prompt_tokens as context size
...
context_tokens prefers API usage from the last model call; char est.
is only a pre-call fallback. Clarify billed turn/session totals in UI.
2026-07-15 11:07:52 +08:00
NCBM
58041c6c87
core/agent+config: soft context budget in estimated tokens
...
Replace max_context_chars with max_context_tokens (default 200k est.
tokens via char/4); compact and /status use the token budget.
2026-07-15 10:58:01 +08:00
NCBM
5c13e06427
ci/lint: per-file ignores for tests in ruff and basedpyright
...
Relax ANN/ARG/PLR/C901 and related rules under tests/**; silence noisy
basedpyright reports for test fakes and private helpers.
2026-07-15 10:35:30 +08:00
NCBM
3215a5cc35
core/cli: show context char estimate in /status
...
Surface soft budget usage (context_chars and tool_result_max) for
Phase D without introducing a local tokenizer.
2026-07-15 10:12:01 +08:00
NCBM
bd6f8f5d9a
core/cli: resume sessions, history, editline Tab, higher tool rounds
...
Default to file SQLite DB and latest session; /history and /rounds;
bind Tab for libedit; max tool rounds default 32.
2026-07-14 19:15:12 +08:00
NCBM
566c1d7d4d
test/cli: cover selection, slash commands, and providers list
2026-07-14 18:29:46 +08:00