Address Review-1 §6. Document page availability and assembly restoration, keep
runtime mechanics out of the host contract, and classify visible compaction
fields and events as Project Contract. Link tests to their owning boundaries
and keep the Agent preset values and rationale in ProfilesAndPreset.
Validation: local documentation links; diff check.
Tavern Studio needs the same snapshot and interaction engine inside its
preview pages. The engine, its tests and the cursor move to
packages/app-use, an independently versioned AGPL package that imports
no TT modules. The in-app assistant consumes it from the workspace, and
the old ui/ directory is removed.
TT differences arrive as options: the [data-tt-sensitive] marker, the
assistant history area, the control-shell surface and #chat scrolling.
scrollChatSurfaceTo is exposed on the page context, so interact no
longer imports /script.js and runs synchronously. The package exports
the four tool definitions; the assistant appends its own notes and
implements evaluate and read_logs. The cursor follows SmartTheme
colors, and its CSS is bundled with the assistant's styles.
Pushing an app-use-v<VERSION> tag publishes the package through npm
trusted publishing.
Validation: pnpm run check; browser iframe checks; the packed tarball
works outside the repository.
Capture Agent inputs after extension hooks and share MacroEnv across prompt and request templates. Remove frozen macro emulation while preserving live extension behavior.
Simplify live data reads and browser test discovery; document the public context APIs.
Validation: pnpm run check.
Mount a default-enabled assistant in the existing A drawer with streaming conversation, tool details, settings and Skill import. Preserve drawer theme and navigation behavior, and persist desktop content width separately from the Agent profile.
Add standalone sessions with a shared profile, continuous JSONL history, and persistent work/tmp directories. Reuse frontend preset assembly and the existing model/tool loop with explicit Chat and Session targets.
Validation: pnpm run check
Document skill mounts, prompt catalogs and migration boundaries. Retain the JavaScript capability and kit references while removing obsolete executor details.
Unify Bashkit and QuickJS behind WorkspaceFs, retain the existing skill entry point during migration, and clarify Agent tool descriptions and errors.
Validation: pnpm run check.
Run shell commands and jq against the shared, scoped workspace. Integrate per-round automatic commits and cancellation that finishes active file writes before returning.
Route tools, Skill scripts and runtime files through WorkspaceFs with run-level locking, CAS and native append.
Persist complete directory state, including deletions, moves and empty directories. Simplify tests and workspace documentation.
Validation: pnpm run check
- 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
- 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.
- 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.
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
- 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
- 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
- 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
- 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.
- 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
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
- 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
- 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.