features: /changes, /search, /fork, web_search, prompt memoization, per-turn spend cap, workspace refresh
- /changes diffs the last turn's file snapshot (added/modified/deleted), reusing undo infra via SnapshotStack.peek() - system prompt memoized behind version counters (notebook/memory/skills/plugins/tools/workspace); hit-rate in /cost, foundation for provider caching - web_search: DuckDuckGo Lite, keyless, 5 results, SSRF-filtered, in the net set with ask permission - /search <query>: full-text grep over saved sessions incl. tool-input JSON - workspace file list re-walks at a turn boundary after writes - maxSpendPerTurn: per-turn cap stops a runaway step with a notice - /fork: branch the session at the last turn boundary, original untouched 821 tests pass, typecheck clean, build green
This commit is contained in:
1 parent
0bdf642672
commit
e709737df1
24 files changed
+720
-41
No files matched your search
@@ -82,7 +82,7 @@ test('a lone slash lists the whole menu', () => {
|
||||
|
||||
test('a prefix narrows the menu', () => {
|
||||
expect(matchCommands('/co').map((c) => c.name)).toEqual(['context', 'compact', 'cost']);
|
||||
expect(matchCommands('/se').map((c) => c.name)).toEqual(['sessions']);
|
||||
expect(matchCommands('/se').map((c) => c.name)).toEqual(['sessions', 'search']);
|
||||
expect(matchCommands('/ag').map((c) => c.name)).toEqual(['agent']);
|
||||
expect(matchCommands('/th').map((c) => c.name)).toEqual(['think']);
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user