Commit graph

21 commits

Author SHA1 Message Date
Darkatse
c369a64d5f feat(agent): add concurrent background worker scheduling for SubAgents 2026-05-29 00:57:19 +08:00
Darkatse
4d9e210bb6 feat(agent): add first-stage return-mode SubAgent runtime 2026-05-28 02:30:29 +08:00
Darkatse
ab726462d0 fix(agent): use text metrics and typed tool result payloads 2026-05-22 23:15:54 +08:00
Darkatse
84eaadc337 fix(agent): materialize Agent system prompts through PromptManager 2026-05-20 23:38:33 +08:00
Darkatse
77f15e2196 fix(agent): publish persistent state IDs only after durable finish 2026-05-20 21:27:05 +08:00
Darkatse
bb9b1d7c38 fix(agent): shorten tool audit file names 2026-05-05 18:34:40 -04:00
Darkatse
9118073819 feat(agent): surface reasoning in model turns and logs
- Add a sanitized model turn display DTO and readModelTurn host API
- Enrich agent run events with model round and reasoning summaries
- Render model reasoning, assistant output, and tool calls in the timeline detail panel
- Normalize visible provider reasoning while keeping native continuation state opaque
- Show visible reasoning in LLM API log readable output, including streaming logs
- Update docs and contract/runtime tests
2026-05-05 18:26:38 -04:00
Darkatse
cdedf4154c fix(agent): hash tool audit file names 2026-05-05 16:42:16 -04:00
Darkatse
fe75e880d1 feat(agent): resolve system prompts from preset anchors 2026-05-05 01:43:08 -04:00
Darkatse
a7d3181d37 feat(agent): clean up chat workspaces on chat deletion
- Add Agent workspace lifecycle cleanup for character and group chat deletion paths.
Reject deletion while a matching Agent workspace has active runs, and remove stale run indexes when deleting chat workspaces.

- Also centralize Agent workspace identity derivation and document the deletion semantics.
2026-05-04 01:12:30 -04:00
Darkatse
90e612b1a4 feat(agent): add file search and ranged reads
- Add workspace.search_files and skill.search so agents can discover relevant
content in visible workspace files and installed Skills before reading.

- Extend workspace.read_file and skill.read with line and character range reads
for large files, and wire the new capabilities through tool specs, dispatcher,
profile defaults, prompt hints, host Skill APIs, docs, and tests.
2026-05-04 00:44:01 -04:00
Darkatse
8838af1f99 feat(agent): split workspace commit from run finish
Introduce workspace.commit as the explicit chat publication step while
keeping workspace.finish scoped to run completion.

- add foreground/background run presentation semantics
- route chat commits through a host bridge backed by saveReply()
- support default replace commits and append commits on one message floor
- require foreground runs to commit before finish
- remove the old prepare/finalize commit API path
- update Agent docs, types, and runtime tests
2026-05-03 23:07:07 -04:00
Darkatse
4fde5e4981 feat(agent): Add Agent Profile foundation
- add Agent Profile domain models, file repository, resolver, and management commands
- resolve profiles before run creation and persist resolved_profile.json in run inputs
- drive tools, skills, workspace roots, output artifacts, rounds, and budgets from profiles
- support agentSystemPrompt replacement and model-facing tool description overrides
- enforce profile tool policy and skill read budgets at runtime
2026-05-03 21:57:21 -04:00
Darkatse
f4e41588b6 refactor(agent): Split model gateway into provider modules
- preserve the canonical AgentModelRequest/AgentModelResponse boundary
- isolate OpenAI Responses continuation and provider schema sanitization
- expand gateway tests for native metadata loss and cross-provider state
- update Agent docs to reflect the completed Phase 2D gateway baseline
- remove the obsolete SkillImportExport draft
- add the Agent design plan as historical background
2026-05-02 23:10:38 -04:00
Darkatse
f990f778c9 feat(agent): Add Agent Skill management and read tools
- Add file-backed Skill storage with import preview, install, export, source refs, and safe file reads
- Expose the Skill Host API and embedded Preset/Character Skill import prompts
- Register skill.list and skill.read in the Agent tool loop
- Cover archive roundtrips, source cleanup, symlink safety, and API contracts
- Refresh Agent docs around the current Skill capability boundary
2026-05-02 22:10:49 -04:00
Darkatse
30fb766f44 feat(agent): Add Responses provider state continuation
- Add run-scoped provider_state for Agent model calls, including
session tracking, message cursors, native continuation metadata, and
OpenAI Responses previous_response_id handling.

- Route OpenAI Responses through WebSocket sessions with incremental
Agent inputs, strip internal provider state from upstream/log payloads,
and persist per-round model responses for diagnostics.

- Document the current Custom OpenAI Responses and Agent provider_state
contracts, replacing stale phase-oriented notes with current behavior.
2026-05-02 02:42:38 -04:00
Darkatse
06cfe0115a feat(agent): Add Phase 2D canonical model gateway
- Route Agent model calls through canonical request and response IR
- Add ChatCompletionExchange for typed normalized responses without splitting legacy generation
- Preserve provider-native metadata for Claude, Gemini, Responses, and Interactions
- Harden tool call ID handling and provider-specific schema adaptation
- Update Agent architecture docs for Phase 2D contracts and follow-up work
2026-05-01 23:10:05 -04:00
Darkatse
d2420cc180 feat(agent): Add Phase 2C context read tools
Add read-only Agent tools for inspecting current chat context and
run-scoped World Info activation.

- Register chat_search, chat_read_messages, and worldinfo_read_activated
- Add message-indexed JSONL readers for character and group chats
- Return chat search snippets with stable message refs instead of full text
- Capture dry-run World Info activation in Agent prompt snapshots
- Keep World Info tool output focused on entry name, lorebook, and content
- Wire context tools through the existing registry, dispatcher, journal, and tool result flow
- Add coverage for chat message reads, chat search dispatch, and activated World Info reads
2026-04-28 23:41:21 -04:00
Darkatse
ba57373318 feat(agent): Add Phase 2B workspace read/write tools
- Add workspace list, read, write, patch, and finish tool support
- Track full-read state before applying precise workspace patches
- Persist tool arguments/results and checkpoint workspace mutations
- Return recoverable tool errors to the model for self-correction
- Raise agent tool loop limit to support longer multi-step runs
- Update Agent docs and Host ABI notes for the Phase 2B baseline
2026-04-26 23:34:42 -04:00
Darkatse
528b3b51c5 feat(agent): Add Phase 2A tool loop foundation
- Implement the minimal Rust-owned agent tool loop with workspace write and
finish tools, prompt snapshot execution, checkpoints, run events, and commit
preparation/finalization.

- Add the frontend dry-run prompt snapshot adapter and explicit agent start
entrypoints for legacy Generate integration and manual prompt snapshots. Keep
legacy Generate and ToolManager behavior unchanged outside agent mode.

- Document the Phase 2A contract, current limitations, workspace layout, event
flow, and manual smoke-test workflow.
2026-04-26 19:58:26 -04:00
Darkatse
f76139f961 feat(agent): Agent Phase 1 runtime foundation
- Introduce the Agent domain model, run/workspace/checkpoint repositories,
and a file-backed workspace store with event journaling.

- Wire the runtime service into Tauri commands and expose the frontend Agent
API for starting, observing, cancelling, reading, and committing runs.

- Derive workspaces from stable chat identity while keeping each run isolated,
and make unsupported Phase 1 paths fail fast.

- Document the Agent architecture, API contract, workspace model, LLM gateway,
tool/MCP boundaries, and implementation plan.
2026-04-26 14:28:08 -04:00