Commit Graph

80 Commits

Author SHA1 Message Date
veguAI
4b26c28802 Port Docker CUDA support to 0.39 (#350)
* fix: port Docker CUDA support to 0.39

* docs: show manual Docker GPU opt-in
2026-08-21 00:53:19 +03:00
veguAI
82d3abc39d Scene Card sub-tab in the scene visuals manager (issue #317) (#318)
* Add a Scene Card sub-tab to the scene visuals manager (issue #317)

* Mirror the Scene Card amendment into the rendered 0.39.0 release notes; review nits
2026-08-17 21:58:34 +03:00
veguAI
98b64b512b Fix the scene backdrop never rendering (issue #313) (#314)
* fix: render the scene backdrop through an object URL (issue #313)

* docs: state the disabled timeline actions as disabled in this version, no return promise

* fix: refuse unsafe and colliding save names when forking from a message

* fix: give fork_scene a real default save name instead of a missing method

* fix: slug the generated fork name so the guard cannot refuse it; pin the refusal messages
2026-08-17 15:04:36 +03:00
veguAI
cd22176529 Disable timeline rollback in 0.39.0 (#311)
* fix: disable timeline rollback in 0.39.0

* fix: guard timeline fork against overwriting an existing save; sync stale rollback wording

* fix: reduce timeline actions to fork-only, remove open-at-revision

* docs: sync help docs index entry for restoring-scenes with the fork-only timeline
2026-08-17 12:48:39 +03:00
veguAI
5f773b21f6 Prompt Finalization UX polish (#194) (#196)
* Prompt Finalization UX polish: balanced action layout, card headers, tooltips, empty state (#194)

* Prompt Finalization UX: more gap under Add, subtle row-card borders (#194 feedback)

* Resolve ws host 0.0.0.0 to the page hostname when connecting (#194 follow-up)

* Address PR #196 review: schema-driven row disable, 0.0.0.0 rewrite traceability, changelog sections, docs sync, DynamicSpan and span-invariant tests
2026-08-07 18:39:46 +03:00
veguAI
94a3308dc1 0.39.0 polish pass (#189) (#190)
* 0.39.0 polish pass: compact help-chat alert, quick-load hover pop, unsaved-settings confirmation, openrouter default model (#189)

* address PR #190 review: openrouter reasoning defaults, guard click-path routing, dialog save eligibility + action separation, docs sync (#189)

* review round 2: gate wizard Add Client on loaded client types, fix stale reasoning-default strings (#189)
2026-08-05 19:01:07 +03:00
veguAI
86781bb89c docs: 0.39.0 docs-gap pass - release-introduced text gaps + refreshed misleading screenshots (#184) (#185) 2026-08-03 14:58:35 +03:00
veguAI
f07b68fb3e fix: honor can_be_disabled and declared defaults when loading agent action enabled flags (#174) (#181)
* fix: honor can_be_disabled and declared defaults when loading agent action enabled flags (#174)

* fix: surface refused agent action toggles, enforce enabled/can_be_disabled at the model, correct changelog claims (#174)

* fix: correct ToggleAgentAction docs wording and error message, restore test class placement (#174)
2026-07-29 20:06:56 +03:00
veguAI
0d8ae90769 fix: strip smart quotes from character example dialogue (#173) (#180)
* fix: strip smart quotes from character example dialogue (#173)

* fix: complete smart-quote pairs and normalize persist_character examples (#173 review)

* docs: correct stale verbatim wording and comment/log accuracy (#173 review)
2026-07-29 19:47:06 +03:00
veguAI
08804e5e11 fix: give chat markdown proper block spacing and list indentation (#175) (#179)
* fix: give chat markdown proper block spacing and list indentation (#175)

* fix: keep h4-h6 at body size and trim trailing list margins (#175)
2026-07-29 19:40:49 +03:00
veguAI
70011a4bd8 add missing inputs to GenerateCharactger node and have it respect the… (#170)
* add missing inputs to GenerateCharactger node and have it respect the creator agent setting

Rewire simulation suite to use GenewrateCharacter Node

* address PR 170 review: description passthrough, generation options, docs sync, node tests

* default example dialogue off in the Create Character module, enable it explicitly on the sim suite call

* brace-tolerant template formatting, scene writing style for split-mode descriptions, changelog default clauses

* widen the template format guard to compound fields (AttributeError/TypeError)
2026-07-28 18:55:14 +03:00
veguAI
3eb14f8c0a fix: apply the director's character attribute limit to character card import (#166)
* fix: apply the director's character attribute limit to character card import

* fix: address PR review feedback on card import attribute limit

* fix: trim docs-index summary to avoid find_docs false positives
2026-07-28 00:24:47 +03:00
veguAI
53ecfe5029 fix: the primed Name line no longer consumes a max_attributes slot (#162) (#163)
* fix: exclude the character's own name from the max_attributes budget (#162)

* fix: stop the unified character prompt spending an attribute slot on the name (#162)

* fix: keep an unbudgeted Name wherever it sits in the sheet; pin the cap instruction (#162 review)

* docs: describe the Fast-mode prompt change rather than the sheet it produces (#162 review)
2026-07-27 22:00:07 +03:00
veguAI
b7d65f6d9d Card import: keep the card's attributes when attribute extraction produces nothing (#159)
* Card import: keep the card's attributes when attribute extraction produces nothing (#158)

* Simplify the empty-sheet guard and sync the scripting-wrapper contract (PR 159 review)
2026-07-26 20:09:55 +03:00
veguAI
e6d1770d7c Scene-overridable action enable toggles + scene-aware quick-toggle chips (#155) (#157)
* feat: make action enable toggles scene-overridable by default and scene-aware quick-toggle chips (#155)

* fix: address PR #157 review — effective-value reads outside the agent panel, refusal reconciliation, no scene write per chip toggle

* fix: restore the agent-settings opt-out flag when an override write fails
2026-07-26 13:44:25 +03:00
veguAI
da464bb5b0 Card import: keep the card's description and example dialogue when generation fails (#156)
* Card import: keep the card's description and example dialogue when generation fails (#154)

* Document the empty-description contract and scope the import fallback note (PR 156 review)

* Scope the import fallback admonition title and link Fast Character Generation (PR 156 review round 2)
2026-07-26 11:24:30 +03:00
veguAI
fb20dfffe4 Scene-override settings panel honors agent config conditions (#143) (#153)
* fix(agent settings): honor config conditions in the scene-override panel (#143)

* fix(agent settings): keep active scene overrides visible when their gate closes (#143 review)
2026-07-25 17:55:25 +03:00
veguAI
459bc137eb fix: one header per application settings page (#148) (#152)
* fix: one header per application settings page (#148)

* fix: registry-owned page header copy, searchable for markup descriptions (#148)

* fix: host descriptionHtml in a div, not an inline span (#148)
2026-07-25 17:36:29 +03:00
veguAI
25d038e8c9 Character creation refactor: unified flow + Fast mode (#138) (#139)
* feat(creator): consolidated character generation (Fast mode) with per-aspect orchestrator

* test(creator): consolidated generation unit + baseline template tests; strict anchor extraction for one-shot misses

* feat(director): persist_character unified flow - Fast mode branch, generate=False manual mode, pre-generated field params

* feat(load): route card import AI extraction through creator consolidated generation in Fast mode

* feat(nodes): add agents/creator/GenerateCharacter node; PersistCharacter accepts pre-generated fields

* refactor: remove deprecated WorldStateManager.create_character path; world editor manual creation uses persist_character

* docs: changelog entries + creator settings docs for Fast character creation

* fix(creator): parse consolidated response by section boundaries - real models write open sections without closing tags

* fix(creator): drop bare name/header lines from consolidated example dialogue

* fix: address PR #139 review - node chain description passthrough, manual-mode template gate, shared attribute parser, fast import error tolerance

* fix: address PR #139 review round 2 - late-name renormalization guard, speaker-drop heuristics, cancellation propagation, universal name guard

* feat(creator): one-shot token budget setting (1024-8192, default 4096) for Fast character creation

* feat: consolidate attribute templates into the one-shot + review round 3 fixes (strict extraction, mixin action, name guards)

* fix: address PR #139 review round 4 - conditional template fold, augment folding, response-budget-aware context reservation, budget clamping

* fix: address PR #139 review round 5 - augment in fill-miss fallback, fold eligibility vs Consolidate set, clamped history budget, fold precondition docs

* fix: clamp one-shot response budget to client context so history + overhead + response always fit

* fix: address PR #139 review round 7 - docs-index entries for Character Creation pages, response-budget docstring bound

* fix: template fold works with name determination (placeholder formatting); consolidate_templates becomes an 'Attribute templates' entry in the Consolidate flags

* test: re-level character-creation test mocking to the client-response layer (#140) (#144)

* feat(creator): richer one-shot instructions ported from standalone prompts; quick toggle for Fast mode

* feat(creator): label fast mode 'Fast Character Generation' for the quick toggle

* fix: propagate GenerationCancelled in split-mode card import helpers (#142) (#145)

* refactor: decompose the character-generation flow (#141) (#146)

* refactor(creator,director): decompose the character-generation flow (#141)

* refactor(creator,director): pydantic request models; generate_character_unified takes the request object (#141)

* refactor(creator,director): address PR #146 review - sheet visibility, node None-name guard, request hardening (#141)

* refactor(creator,director): PR #146 round 2 - completion status parity, enforcement ordering, test pins (#141)

* refactor(director): PR #146 round 3 - completion status placement, cap pins (#141)

* fix: address PR #139 review - fold placeholder gated on determine_name, cancel propagation in card import pipeline, dedupe fast/split orchestration, orchestrator-side character detach, docs for Attribute templates fold

* fix: address PR #139 review round 2 - sheet prompt gets pre-creation description via explicit context character, detach field-fidelity coverage, aspect type annotations, Fast Character Generation naming, extraction polish

* fix: address PR #139 review round 3 - uniform context-character rendering in sheet prompt (skip_characters), augment detour comment restated, Consolidate description rename, test state/fidelity gaps

* refactor: move StrictAnchorExtractor to talemate.prompts.response with the other extractors (PR #139 review)

* feat(creator): default Consolidate to every aspect incl. example dialogue

* feat(creator): render writing style instructions in the consolidated character generation prompt; reword Fast Character Generation description (no upper request limit, less detail as failure mode)

* fix: address PR #139 review round 6 - example dialogue guidance reaches the consolidated one-shot, extractor docstring + unit tests, dialogue_examples event caveats, writing-style docs, changelog accuracy
2026-07-25 13:17:11 +03:00
veguAI
a7ca6f61da Scene library and quick load tweaks (#136) (#137)
* ui: move quick-load card menu below the card and add save-file context menu to scene library (#136)

* ui: horizontal dots for quick-load card menu, tighter card title spacing (#136)

* refactor: extract shared SceneSaveContextMenu, add connected guard to library menu (#136 review)

* ui: align Quick load section header with Scene Library header (#136)

* docs: sync scene-browser and restoring-scenes docs with save-row context menu, refresh screenshots (#136 review)
2026-07-22 14:07:16 +03:00
veguAI
0235b2bd94 Fix #133: Pocket TTS — HF token set via unified API key now enables the gated model download without restart (#135)
* fix: Pocket TTS reloads the model after a HF token is set so the gated voice-cloning download is retried (#133)

* review: limit unused-api agent details to warnings, honor env HF_TOKEN in reload decision

* review: clear stale exported HF_TOKEN, resolve tokens via get_token, semantic surface_when_unused flag on AgentDetail, color Literal, negative filter test

* review: restore displaced user HF_TOKEN when config token is cleared, move reload test back to its class

* review: reset env-token bookkeeping on out-of-band change, honest docstring, steady-state and collision round-trip tests

* review: pin adopt-newest recapture round-trip, localize failure in bookkeeping-reset test

* review: pin out-of-band deletion recapture (restore target becomes unset)
2026-07-22 13:16:06 +03:00
veguAI
121d103bea Pi Bridge: fix Windows generations never finalizing (#127)
* pi_bridge: add TALEMATE_PI_BRIDGE_TRACE event-stream instrumentation for #126

* fix(pi_bridge): shut pi down via stdin EOF with tree-kill fallback so Windows generations finalize (#126)

* pi_bridge: address PR #127 review - bound all cleanup waits, survive repeat cancellation, cancellation tests, trace docs

* pi_bridge: address PR #127 round-2 review - incremental stderr buffer, unconditional drain disposal, shielded tree kill, annotations, test handshake

* pi_bridge: address PR #127 round-3 review - catch taskkill spawn failure, partial-stderr regression test, comment placement
2026-07-21 12:35:57 +03:00
veguAI
9fae304dff Settings: badge tab on unsaved changes, align toolbar to content width (#128)
* feat(settings): badge Settings tab while unsaved changes exist, align toolbar to content width (closes #125)

* refactor(settings): drop toolbar wrapper div and dead sticky rule, remove comment noise (PR #128 review)

* docs(settings): document unsaved-changes tab badge, recapture app-settings screenshots for new toolbar layout

* docs(settings): recapture app-settings screenshots against a ready app, sidebar closed, default config (PR #128 review)
2026-07-21 12:34:56 +03:00
veguAI
f38d330ba1 Fix node code bugs surfaced by the docstring audit (#115) (#122)
* fix: node code bugs from docstring audit (#115) - runtime crashes, phantom/duplicate sockets, registry typo aliases, property default mismatches

* fix: address PR #122 review - register template scene types on intent_state, StageExit node_state_pop, annotations, shared graph-test helpers, migration round-trip test

* docs: correct the circular-import chain named in apply_to_scene's deferral comment

* fix: SetScenePhase defaults to the shipped roleplay scene type instead of an empty string that errors on run
2026-07-20 17:28:56 +03:00
veguAI
3ca8f0a550 Refuse deleting the save file of the currently loaded scene (#114) (#121)
* fix: refuse deleting the save file of the currently loaded scene (#114)

* refactor: extract shared active-scene realpath helper, pin full_path-None delete behavior (PR #121 review)

* docs: note that the loaded scene's save file and project cannot be deleted; broaden delete test module docstring (PR #121 review)
2026-07-20 16:00:12 +03:00
veguAI
89e01ac138 Node editor node reference glossary (#107) (#111)
* docs: complete node editor node reference glossary (#107) - generated by new nodes.tools glossary subcommand, 47 categorized pages covering all 403 nodes, docstring gap fixes, help-agent docs-index entries

* docs: fix Jinja2 Format discoverability - document dynamic-input template variables, move node to string page, link key inference from dynamic-input notes, strip links from index summaries

* help agent: keep node reference out of the chat prompt - collapse glossary entries to one pointer line (~19k chars saved), agent retrieves node info via search_docs/read_doc tool calls

* help agent: replace in-prompt docs index with find_docs lookup tool - prompt carries a 13-line section overview (~1.5k chars vs ~66k), pages located via keyword-scored find_docs at runtime

* changelog: help agent prompt slimming + find_docs lookup

* docs: sort node reference index and nav alphabetically by page title

* review: move module constants into top-of-file constant blocks (glossary MAX_DEFAULT_LENGTH; docs SECTION_DESCRIPTIONS, _FIND_STOPWORDS, FIND_DOCS_LIMIT)

* review: word-boundary find_docs scoring with plural/-ing folds, find_docs+section_overview unit tests, jinja2 template field description override

* docs: help agent overview no longer claims an in-prompt index of all documentation pages

* docs: full node docstring audit pass - 335 classes audited by 5 agents, ~89 accuracy fixes (nonexistent/misnamed sockets, wrong behavior claims), ~94 expansions, 5 factually-wrong PropertyField descriptions corrected, glossary regenerated
2026-07-20 01:49:33 +03:00
veguAI
e54938d37b Refactor the AppConfig UX: main-view Settings tab with sidebar navigation, search, and dirty tracking (#110)
* refactor: move application settings from modal to main-view Settings tab with sidebar nav, search, and dirty tracking (#108)

* fix: address settings-view review findings (system prompt defaults lost after save, dirty-on-type for prompt overrides, scoped embeddings busy-lock, external-change false positives)

* style: give settings pages a surface-colored canvas so reused editors blend like they did in the modal; anchor env variables in a card with empty state

* style: rename settings groups Creator->Storytelling and General/Gameplay->Game/General, distinct group icons; drop content-classification influence claim

* docs: refresh settings screenshots for the Storytelling and Game/General relabels

* fix: address PR review - decouple settings working copy from shared ws payload, clear saving flag on failed save, gate help-agent config writes on dirty state instead of open settings view, data-drive provider icons

* chore: drop dead null-guard on system-prompt-defaults binding (card is v-if gated on app_config)

* docs: update remaining pages describing the removed settings modal (apis/, client presets, outline, runpod note), fresh per-provider screenshots, help docs-index paths; reword system-prompts client hint

* docs: recapture per-provider API key screenshots as card element shots so each page shows its own provider
2026-07-20 00:55:37 +03:00
veguAI
e3c1c231df Scene browser landing page (#109) (#112)
* Scene browser landing page: full-page home view with scenes tree, project/file/card deletion, prominent import (#109)

* review: anchor scenes dir on talemate.path.SCENES_DIR, share character card spec detection with loader

* docs: scene browser landing page - new Home Screen & Scene Library page, refresh load/import/harness docs and screenshots, update help docs index

* review: refuse deleting the active scene's project, root-anchored cover asset paths, share media-type map, dedupe delete button template

* import dropzone: accept and document .zip scene archives
2026-07-20 00:19:52 +03:00
veguAI
856b4011fa Docker: Pi Bridge client + encrypted environment variable store (#105) (#106)
* Docker support for Pi Bridge client + encrypted environment variable store (#105)

* Address PR #106 review: env name validation on backend, add-form value/duplicate guards, stale openrouter convenience docs
2026-07-19 18:13:05 +03:00
veguAI
190742b903 Client auto retry for empty, rate-limited and missing-reasoning responses (#103)
* feat: per-client auto retry for empty, rate-limited and missing-reasoning responses (#102)

* fix: scope auto-retry alert close to the emitting client

* fix: make auto-retry Abort effective between attempts in scene-free generations

* fix: auto-retry alert was invisible for fast retry sequences - enforce minimum display time, keep content through fade-out, offset below status snackbar

* fix: reset auto-retry alert display window on client content handoff

* fix: address auto-retry review round 3 - client-owned abort latch, reasoning retry extraction, clamped retry config, countdown and layout polish

* fix: discard stale auto-retry abort latch at sequence entry, disable Abort during linger

* fix: explicit dialog choice discards stale auto-retry abort latch

* fix: key auto-retry abort and alert by per-sequence generation id - same-client concurrency (FOCAL streaks, background chats) is normal operation, not experimental

* test: update direct _generate_with_error_handling callers for generation id param

* docs: concurrent requests are used beyond visual prompt generation

* fix: don't consume an active scene's interrupt flag in retry checks, ignore late aborts for finished sequences

* refactor: unify the three auto-retry policy blocks into _auto_retry_or_prompt

* docs: add Mistral to concurrent requests supported clients
2026-07-19 11:46:38 +03:00
veguAI
f86b7c73d8 Simplified character card import: optional AI generation steps (#100)
* feat: simplified character card import - optional AI generation steps (#98)

* refactor: single source of truth for generation option keys/defaults; document auto-direct coverage of story intent toggle

* ui: collapse granular AI generation options by default, toggle via section header

* docs: note AI generation toggles are collapsed behind the section header
2026-07-18 20:14:35 +03:00
veguAI
0e27e87e72 New client type: Pi Bridge (#97) (#99)
* feat: Pi Bridge client - drive generations through the pi coding agent RPC mode (#97)

* fix: pi bridge - refresh pi model catalog on config save so models.json changes appear without restart

* fix: pi bridge - raise subprocess stream limit so oversized RPC event lines (long thinking blocks) do not fail generation

* docs: pi bridge - note that thinking budgets are provider-enforced and may be advisory

* fix: pi bridge - address PR review (surface pi error text in dialog, drain stderr to avoid deadlock, drop dead get_model_name, docs concurrency list)
2026-07-18 19:38:40 +03:00
veguAI
e023cad5c1 OpenRouter client: configurable sampler parameter exclusion via send_* toggles (#95) (#96) 2026-07-17 02:46:38 +03:00
veguAI
4a6cd49774 Fix: scene export with Reset Progress no longer wipes the live scene (#90)
* fix: scene export with Reset Progress no longer wipes the live scene

* test: parity guard between scene_export_json reset and Scene.reset()

* refactor: address PR #90 review - shared scene_data_dumps helper, faithful stub serialize, broader parity guard

* refactor: route save_restore through scene_data_dumps; drop now-unused json import
2026-07-15 14:04:44 +03:00
veguAI
0a60aa9dd7 Help agent can read and update application and agent settings (#84)
* Help agent can read and update application and agent settings (#83)

* PR #84 review: fix flags coercion (list-aware), guard app-config writes while app settings dialog open, document guard staleness

* PR #84: read_clients resolves unified API keys before reporting 'not set'

* PR #84: report cleared (empty-string) unified API key as 'not set'
2026-07-07 17:27:32 +03:00
veguAI
bf1e57d8b3 docs: 0.39.0 docs pass — scene backdrop, scene visual manager, quick settings, finalizer templates (#80) 2026-07-06 23:20:43 +03:00
veguAI
1d432ecc97 Timeline rollback: dedicated restoration UX (#77) (#79)
* feat: timeline rollback - dedicated restoration UX with revision scrubber, in-place rollback and fork (#77)

* review followup: shared character-message parser, rollback failure recovery, scenario-tools save menu docs
2026-07-06 15:48:12 +03:00
veguAI
5f0ddc919e Node-graph event signals for 0.39.0 features (#76) (#78)
* Add node-graph event signals for 0.39.0 features: visual prompt finalization, creator dialogue examples, help chat, scene asset lifecycle (#76)

* review: fire scene.backdrop_changed when backdrop asset is deleted; suppress no-op backdrop updates (#78)
2026-07-06 14:32:43 +03:00
veguAI
cbc075b0dd Help chat: regenerate as per-message action, matching director chat (#74) (#75)
* feat: help chat regenerate moves to a per-message action on the last answer, matching director chat (#74)

* refactor: render the help chat message-actions wrapper only on the last help answer (PR #75 review)
2026-07-06 02:18:36 +03:00
veguAI
44e09d5881 Example dialogue guidance during character creation (#71)
* feat: example dialogue guidance during character creation (#69)

* docs: document example dialogue generation option; update stale test docstring

* docs: refresh character creation screenshots for example dialogue option
2026-07-06 01:24:11 +03:00
veguAI
3d95068163 docs: update World State scene-tool menu for the unified Track State action (#73) 2026-07-06 01:00:32 +03:00
veguAI
81f5f96241 Add 'API handles prompt template' option to Text-Generation-WebUI and llama.cpp clients (#66)
* Add API handles prompt template option to Text-Generation-WebUI and llama.cpp clients

* Hide prompt-template alert when API handles the prompt template

* Handle reasoning models when API handles the prompt template

* Address PR review: resolve system message on event loop, dedupe llamacpp base url

* Move test imports to top of file per review
2026-07-05 22:51:29 +03:00
veguAI
c84d37918c Help Agent: interactive documentation-grounded help chat (#59) (#61)
* feat: help agent - interactive documentation-grounded help chat (#59)

* feat: help agent links doc references to the published manual

* feat: help agent UX snapshot includes open client/agent settings modal (name, type, selected tab)

* feat: settings modals yield to the help chat drawer (scrimless, no focus trap, shifted left) with a help shortcut in their title bar

* fix: agent modal gains an explicit close button (scrim click was its only close path)

* feat: help agent doc lookups run concurrently via focal; lookups-per-round raised (default 5, max 16)

* feat: help agent can emit in-app navigation links (agent settings, world editor, director console) and deflects scene-content questions to director chat

* feat: help chat gets its own blue message palette (hchat_msg_*) distinct from director orange

* feat: help chat palette - blueGrey messages with blue doc lookup results

* feat: world editor navigation blocks with a dialog when no scene is loaded; chat markdown tables get borders, padding and zebra rows

* fix: address PR review - on_done only on success, single-flight rejection feedback, shared chat-title module, unified reverse_trim_history in util, atomic chat store writes

* test: baseline prompt rendering tests for the help agent (chat, scene-aware, doc-lookup/final-round, title)
2026-07-05 02:12:33 +03:00
veguAI
5622071722 Generalized visual prompt finalization (post-processing) (#51)
feat: generalized visual prompt finalization (post-processing) for image generation prompts
2026-07-03 20:10:22 +03:00
veguAI
c12a82930e 0.38.0 (#272)
- **Per-Scene Agent Overrides** — Override agent configuration for a single scene without touching your global config.
- **Message Revision History** — Browse and continue from previous regenerations / revisions.
- **Scene Perspective Overrides** — Set distinct narrative perspectives for the player, NPCs, and narrator.
- **Durable World State Snapshot** — The world state snapshot now persists and updates entities across refreshes.
- **World State Highlights** — Characters, objects and places marked by the current world state snapshot are now clickable in the recent message(s) for additional detail.

Plus 30 improvements and 17 bug fixes
2026-07-02 09:28:45 +03:00
veguAI
f5d41c04c8 0.37.0 (#267)
0.37.0

- **Director Planning** — Multi-step todo lists in director chat plus a Generate long progress action for multi-beat scene arcs.
- **Auto Narration** — Unified auto-narration replacing the old Narrate after Dialogue toggle, with a chance slider and weighted action mix.
- **LLM Prompt Templates Manager** — Dedicated UI tab for viewing, creating, editing, and deleting prompt templates.
- **Character Folders** — Collapsible folders in the World Editor character list, synced across linked scenes.
- **OpenAI Compatible TTS** — Connect any number of OpenAI-compatible TTS servers in parallel.
- **KoboldCpp TTS Auto-Setup** — KoboldCpp clients with a TTS model loaded register themselves as a TTS backend.
- **Model Testing Harness** — Bundled scene that runs basic capability tests against any connected LLM.

Plus 27 improvements and 28 bug fixes
2026-05-12 21:01:51 +03:00
veguAI
42a8863e65 0.36.0 (#255)
Major Features

- API key encryption at rest using Fernet (OS keyring with file fallback)
- Prompt Manager: unified UI with template groups, priority ordering, override tracking, response extractors
- Scene context history review panel with token budgets and best-fit mode
- Multiple concurrent director chats with auto-generated titles
- Granular scene state reset dialog
- Time passage insert/edit/delete in scene view
- Image analysis via OpenAI-compatible and Talemate Client backends
- Volatile context placement after scene history for improved prompt caching

Improvements

- Configurable narrator generation length per narration type
- AI Aware conversation mode
- Summarizer: custom instructions, writing style inclusion, short line filtering
- Anthropic: adaptive thinking support, updated model list (opus-4-5/4-6, haiku-4-5)
- Google: gemini-3.1 support
- World editor: generate from topic, quick create state reinforcement, reorganized menus
- Node editor: promote scene modules to global
- Frontend: version mismatch detection, hideable bracket content, required scene name
- TTS: improved pause handling, audio tag support for vocal markers (ElevenLabs v3)
- Writing style template for AI-generated instructions
- Added Kimi.jinja2 LLM prompt template
- Option to disable character names in stopping strings
- Client response length enforcement options
- Graduated token count sliders
- Increased summarizer token threshold max

Bugfixes

- Fix bracket/paren/brace terminators stripped from message ends
- Fix colon in conversation causing content loss
- Fix "Use as reference" navigating to blank page
- Fix avatar regeneration and manual regenerate
- Fix conversation agent ignoring generation length
- Fix duplicate length instructions with reasoning enabled
- Fix trailing newline on message edits
- Fix summarize dialogue sending too much context with layered history
- Fix layered history inspection and construction issues
- Fix empty response handling in summarization
- Fix context ID dot notation with dotted character names
- Fix recursive retry in focal agent
- Fix leading whitespace causing duplicate prepared responses
- Fix summarization not stripping ANALYSIS OF lines
- Fix template group selection/removal in prompt manager
- Fix multiline text in parentheses/brackets parser
- Fix determine_character_name resolution
- Fix character activate/deactivate desyncing creative menu
- Fix character image generation missing context
- Fix LMStudio client not sending token limits
- Fix Recent Scene images on newer Chromium
- Fix sequential reinforcement messages cut off at first linebreak
- Fix reinforcement removal not clearing state
- Fixes #252, #256, #258

Deprecations

- Removed context investigations (replaced by AI-assisted RAG mixin)
- Removed deprecated prompt templates (fix-continuity-errors, fix-exposition, etc.)
- Removed conversation/edit.jinja2, auto break repetition, CLI reset layered history
---------

Co-authored-by: theDTV2 <47825738+theDTV2@users.noreply.github.com>
2026-03-15 12:00:57 +02:00
veguAI
d0ebe95ca6 0.35.0 (#242)
Major features:
- Autonomous scene direction via director agent (replaces auto-direct)
- Inline image display in scene feed
- Character visuals tab for portrait/cover image management
- Character message avatars with dynamic portrait selection
- Pocket TTS and llama.cpp client support
- Message appearance overhaul with configurable markdown display

Improvements:
- KoboldCpp: adaptive-p, min-p, presence/frequency penalty support
- Setup wizard for initial configuration
- Director chat action toggles
- Visual agent: resolution presets, prompt revision, auto-analysis
- Experimental concurrent requests for hosted LLM clients
- Node editor alignment shortcuts (X/Y) and color picker

Bugfixes:
- Empty response retry loop
- Client system prompt display
- Character detail pins loading
- ComfyUI workflow charset encoding
- Various layout and state issues

Breaking: Removed INSTRUCTOR embeddings
2026-01-27 10:22:41 +02:00
veguAI
c179fcd3eb 0.34.0 (#239)
Visual Agent Refactor + Visual Library
Character Card Import Refactor
Bug fixes and other improvements
2025-12-06 11:19:48 +02:00
veguAI
89d16ae513 0.33.0 (#229)
* linting

* Add cleanup function for recent scenes in config to remove non-existent paths

* remove leghacy world state manager buttons

* move world state scene tools into sub component

* linting

* move module properties to navigation drawer

* Update icons in NodeEditorLibrary and NodeEditorModuleProperties for improved UI clarity

* prompt tweaks

* director chat prompt simplifications

* more prompt fixes

* Enhance type hints for duration conversion functions in time.py

* narrate time action now has access to response length instructions

* Add IsoDateDuration node for ISO 8601 interval string construction

* Update advance_time method to include return type annotation and return message

* Add AdvanceTime node to world state for time advancement with duration and narration instructions

* linting

* Add agent state exclusions to changelog with a TODO for module migration

* Add message emission for actor, narrator, and scene analysis guidance in respective components. Enhance AgentMessages and SceneTools for better message handling and visual feedback.

* Remove agent messages from state when opening agent message view in SceneTools component.

* linting

* openroute fetch models on key set

* Add input history functionality to message input in TalemateApp component. Implement keyboard shortcuts for navigating history (Ctrl+Up/Down) and limit history to the last 10 messages. Update message sending logic to store messages in history.

* Update message input hint in TalemateApp component to include keyboard shortcuts for navigating input history (Ctrl+Up/Down).

* node updates

* unified data extraction function

* prompt tweaks

* Add gamestate context support in BuildPrompt and corresponding template. Introduced new property for gamestate context and updated rendering logic to include gamestate information in prompts.

* Refactor Prompt class by removing LoopedPrompt and cleaning up related methods. Update data response parsing to streamline functionality and improve clarity. Adjust imports accordingly.

* Add 'data_multiple' property to GenerateResponse class to allow multiple data structures in responses. Update output socket type for 'data_obj' to support both dict and list formats.

* Add DictUpdate node

* Add UnpackGameState node to retrieve and unpack game state variables

* gamestate nodes

* linting

* Enhance scene view toggle functionality to support shift-click behavior for closing all drawers when hiding the scene view.

* immutable scenes should reset context db on load

* linting

* node updates

* prompt tweaks

* Add context type output and filtering for creative context ID meta entries in PathToContextID and ContextIDMetaEntries nodes

* Add string replacement functionality and Jinja2 formatting support in nodes. Introduced 'old' and 'new' properties for substring replacement in the Replace node, and added a new Jinja2Format node for template rendering using jinja2.

* Add additional outputs for context validation in ValidateContextIDItem node, including context type, context value, and name.

* prompt tweaks

* node adjustments

* linting

* Add data_expected attribute to Focal and Prompt classes for enhanced response handling

* node updates

* node updates

* node updates

* prompt tweaks

* director summary return appropriately on no action taken

* Enhance action handling in DirectorChatMixin by skipping actions when a question is present in the parsed response, ensuring better response accuracy.

* Enhance ConfirmActionPrompt component by adding anchorTop prop for dynamic alignment and adjusting icon size and color for improved UI consistency.

* anchor clear chat confirm to top

* responsive layout fixes in template editors

* linting

* relock

* Add scene progression guidance to chat-common-tasks template

* Refactor push_history method to be asynchronous across multiple agents and scenes, ensuring consistent handling of message history updates.

* Update chat instructions to clarify user intent considerations and enhance decisiveness in responses. Added guidance on distinguishing between scene progression and background changes, and refined analysis requirements for user interactions.

* Enhance DirectorConsoleChatsToolbar by adding a usage cheat sheet tooltip for user guidance and refining the Clear Chat button's UI for better accessibility.

* store character data at unified point

* fix button

* fix world editor auto sync

* Shared context 2 (#19)

Shared context

* Refactor NodeEditorLibrary to improve search functionality and debounce input handling. Updated v-text-field model and added a watcher for search input to enhance performance.

* Refactor NodeEditor and TalemateApp components to enhance UI interactions. Removed the exit creative mode button from NodeEditor and updated tooltips for clarity. Adjusted app bar navigation icons for better accessibility and added functionality to switch between node editor and creative mode.

* comment

* Character.update deserialize voice value correctly

* Enhance SharedContext.update_to_scene method to properly add or update character data in the scene based on existence checks. This improves the synchronization of character states between shared context and scene.

* shared context static history support
fix context memory db imports to always import

* Update WorldStateManagerSceneSharedContext.vue to clarify sharing of character, world entries, and history across connected scenes.

* linting

* Enhance chat modes by adding 'nospoilers' option to DirectorChat and related payloads. Update chat instructions to reflect new mode behavior and improve UI to support mode-specific icons and colors in the DirectorConsoleChatsToolbar.

* Comment out 'repetition_penalty_range' in TabbyAPIClient to prevent unexpected "<unk><unk> .." responses. Further investigation needed.

* linting

* Add active_characters and intro_instructions to Inheritance model; implement intro generation in load_scene_from_data. Update WorldStateManagerSceneSharedContext.vue to enhance new scene creation dialog with character selection and premise instructions.

* rename inheritance to scene initialization

* linting

* Update WorldStateManagerSceneSharedContext.vue to conditionally display alert based on scene saving status and new scene creation state.

* Refine messages for shared context checkboxes in WorldStateManagerCharacter and WorldStateManagerWorldEntries components for clarity.

* Add scene title generation to load process and update contextual generation template. Introduced a new method in AssistantMixin for generating scene titles, ensuring titles are concise and free of special characters. Updated load_scene_from_data to assign generated titles to scenes.

* linting

* Refactor GameState component to integrate Codemirror for JSON editing, replacing the previous treeview structure. Implement validation for JSON input and enhance error handling. Remove unused methods and streamline state management.

* Add lastLoadedJSON property to GameState component for change detection. Update validation logic to prevent unnecessary updates when game state has not changed.

* Remove status emission for gameplay switch in CmdSetEnvironmentToScene class.

* allow individual sharing of attributes and details

* linting

* Remove redundant question handling logic in DirectorChatMixin to streamline action selection process.

* Update EXTERNAL_DESCRIPTION in TabbyAPI client to include notes on EXL3 model sensitivity to inference parameters. Adjust handling of 'repetition_penalty_range' in parameter list for clarity.

* director chat support remove message and regenerate message

* Refactor ConfirmActionInline component to improve button rendering logic. Introduced 'size' prop for button customization and added 'comfortable' density option. Simplified icon handling with computed property for better clarity.

* linting

* node updates

* Add appBusy prop to DirectorConsoleChats and DirectorConsoleChatsToolbar components to manage button states during busy operations.

* Refactor DirectorChatMixin to utilize standalone utility functions for parsing response sections and extracting action blocks. This improves code clarity and maintainability. Added tests for new utility functions in test_utils_prompt.py to ensure correct functionality.

* Update clear chat button logic to consider appBusy state in DirectorConsoleChatsToolbar component, enhancing user experience during busy operations.

* linting

* Remove plan.md

* Add chat template identifier support and error handling in ModelPrompt class

- Implemented logic to check for 'chat_template.jinja2' in Hugging Face repository.
- Added new template identifiers: GraniteIdentifier and GLMIdentifier.
- Enhanced error handling to avoid logging 404 errors for missing templates.
- Introduced Granite.jinja2 template file for prompt structure.

* node fixes

* remove debug msg

* Enhance error handling in DynamicInstruction class by enforcing header requirement and ensuring content defaults to an empty string if not provided.

* recet scene message visibility on scene load

* prompt tweaks

* Enhance data extraction in Focal class by adding a fallback mechanism. Implemented additional error handling to attempt data extraction from a fenced block if the initial extraction fails, improving robustness in handling responses.

* linting

* node fixes

* Add relative_to_root function for path resolution and update node export logic

- Introduced a new function `relative_to_root` in path.py to resolve paths relative to the TALEMATE_ROOT.
- Updated the `export_node_definitions` function in registry.py to use `relative_to_root` for module path resolution.
- Added a check to skip non-selectable node definitions in litegraphUtils.js during registration.

* show icons

* Improve error handling in export_node_definitions by adding a try-except block for module path resolution. Log a warning if the relative path conversion fails.

* typo

* Refactor base_attributes type in Character model to a more generic dict type for improved flexibility

* relock

* ensure character gets added to character_data

* prompt tweaks

* linting

* properly activate characters

* activate needs to happen explicitly now and deactivated is the default

* missing arg

* avoid changed size error

* Refactor character removal logic in shared context to prevent deletion; characters are now only marked as non-shared.

* Add update_from_scene method calls in SharedContextMixin for scene synchronization

* Add ensure_changelogs_for_all_scenes function to manage changelog files for all scenes; integrate it into the server run process.

* Enhance backup restore functionality by adding base and latest snapshot options; improve UI with clearer labels and alerts for restore actions.

* Update _apply_delta function to enhance delta application handling by adding parameters for error logging and force application of changes on non-existent paths.

* Skip processing of changelog files in _list_files_and_directories function to prevent unnecessary inclusion in file listings.

* Update IntroRecentScenes.vue to use optional chaining for selectedScene properties and enhance backup timestamp display with revision info.

* linting

* Refactor source entry attribute access in collect_source_entries function to use getattr for optional attributes, improving robustness.

* Implement logic to always show scene view in scene mode within TalemateApp.vue, enhancing user experience during scene interactions.

* prompt tweaks

* prompt tweaks

* Update TalemateApp.vue to set the active tab to 'main' when switching to the node editor, improving navigation consistency.

* Add active frontend websocket handler management in websocket_endpoint

* agent websocket handler node support

* Refactor init_nodes method in DirectorAgent to call superclass method and rename chat initialization method in DirectorChatMixin for clarity.

* Add characters output to ContextHistory node to track active participants in the scene

* Add Agent Websocket Handler option to Node Editor Library with corresponding icons and labels

* Add check for node selectability in NodeEditorNodeSearch component to filter search results accordingly.

* Add SummarizeWebsocketHandler to handle summarize actions and integrate it into SummarizeAgent

* nodes

* Add data property to QueueResponse class for websocket communication and update run method to include action and data in output values.

* Update manual context handling in WorldStateManager to include shared property from existing context

* Enhance GetWorldEntry node to include 'shared' property in output values from world entry context

* Update scene loading to allow setting scene ID from data and include ID in scene serialization

* Update icon for AgentWebsocketHandler in NodeEditorLibrary component to mdi-web-box

* Refactor WorldStateManager components to enhance history management and sharing capabilities. Added summarized history titles, improved UI for sharing static history, and integrated scene summarization functionality. Removed deprecated methods related to shared context settings.

* linting

* Change log level from warning to debug for migrate_narrator_source_to_meta error handling in NarratorMessage class.

* Update GLM-no-reasoning template to include <think></think> tag before coercion message for improved prompt structure.

* allow prompt templates to specify reasoning pattern

* Add Seed.jinja2 template for LLM prompts with reasoning patterns and user interaction handling

* Enhance NarratorAgent to support dynamic response length configuration. Updated max generation length from 192 to 256 tokens and introduced a new method to calculate response length. Modified narration methods to accept and utilize response length parameter. Added response length property in GenerateNarrationBase class and updated templates to include response length handling.

* Update response length calculation in RevisionMixin to include token count for improved text processing.

* Refactor response identifier in RevisionMixin to dynamically use calculated response length for improved prompt handling.

* linting

* allow contextual generation of static history entries

* Add is_static property to HistoryEntry for static history entry identification

* Add "static history" option to ContextualGenerate node for enhanced contextual generation capabilities.

* Add CreateStaticArchiveEntry and RemoveStaticArchiveEntry nodes for managing static history entries. Implement input/output properties and error handling for entry creation and deletion.

* nodes updated

* linting

* Add assets field to SceneInitialization model and update load_scene_from_data function to handle scene assets. Update WorldStateManagerSceneSharedContext.vue to include assets in scene initialization parameters.

* Refactor CoverImage component to enhance drag-and-drop functionality and improve styling for empty portrait state.

* Add intent_state to SceneInitialization model and update load_scene_from_data function to handle intent state. Introduce story_intent property in Scene class and reset method in SceneIntent class. Update WorldStateManagerSceneSharedContext.vue to include intent state in scene initialization parameters.

* Refactor WorldStateManagerSceneSharedContext.vue to improve cancel functionality by introducing a dedicated cancelCreate method and removing the direct dialog toggle from the Cancel button. This enhances code clarity and maintainability.

* Update SharedContext to use await for set_shared method, ensuring proper asynchronous handling when modifying character sharing status.

* Add MAX_CONTENT_WIDTH constant and update components to use it for consistent max width styling

* fix issue with data structure parsing

* linting

* fix tests

* nodes

* fix update_introduction

* Add building blocks template for story configuration and scene management

* Refactor toggleNavigation method to accept an 'open' parameter for direct control over drawer visibility in TalemateApp.vue

* Update usageCheatSheet text in DirectorConsoleChatsToolbar.vue for clarity and add pre-wrap styling to tooltip

* Add cover image and writing style sections to story and character templates; update chat common tasks with new scene restrictions and user guide reference.

* linting

* relock

* Add EmitWorldEditorSync node to handle world editor synchronization; update WorldStateManager to refresh active tab on sync action.

* Update Anthropic client with new models and adjust default settings; introduce limited parameter models for specific configurations.

* director action  module updates

* direct context update fn

* director action updates

* Update usageCheatSheet in DirectorConsoleChatsToolbar.vue to include recommendation for 100B+ models.

* Remove debug diagnostics from DirectorConsoleChats.vue to clean up console output.

* Update card styles in IntroRecentScenes.vue for improved visual consistency; change card color to grey-darken-3 and adjust text classes for titles and subtitles.

* Update EmitWorldEditorSync node to include websocket passthrough in sync action for improved event handling.

* Increase maximum changelog file size limit from 500KB to 1MB to accommodate larger change logs.

* linting

* director action module updates

* 0.33 added

* Add Nexus agent persona to talemate template and initialize phrases array

* Add support for project-specific grouping in NodeEditorLibrary for templates/modules, enhancing organization of node groups.

* docs

* Enhance NodeEditorLibrary by adding primary color to tree component for improved visibility and user experience.

* docs

* Enhance NewSceneSetupModal to include subtitles for writing styles and director personas, improving context and usability.

* Update agent persona description in WorldStateManagerTemplates to specify current support for director only, enhancing clarity for users.

* Refine agent persona description in WorldStateManagerTemplates to clarify assignment per agent in Scene Settings, maintaining focus on current director-only support.

* fix crash when attempting to delete some clients

* Add TODO comments in finalize_llama3 and finalize_YI methods to indicate removable cruft

* Add lock_template feature to Client configuration and update related components for template management

* linting

* persist client template lock through model changes

* There is no longer a point to enforcing creative mode when there are no characters

* fix direct_narrator character argument

* Update CharacterContextItem to allow 'value' to accept dict type in addition to existing types

* docs

* Update lock_template field in Client model to allow None type in addition to bool

* Remove unused template_file field from Defaults model in Client configuration

* Refactor lock_template field in Client model and ClientModal component to ensure consistent boolean handling

* Add field validator for lock_template in Client model to ensure boolean value is returned

* fix issue where valid data processed in extract_data_with_ai_fallback was not returned

* Update default_player_character assignment in ConfigPlugin to use GamePlayerCharacter schema for improved data validation

* linting

* add heiku 4.5 model and make default

* opse 4.5 isnt a thing

* fix issue where  fork / restore would restore duplicate messages

* improve autocomplete handling when prefill isn't available

* prompt tweaks

* linting

* gracefully handle removed attributes

* Refactor scene reference handling in delete_changelog_files to prevent incorrect deletions. Added a test to verify proper scene reference construction and ensure changelog files are deleted correctly.

* forked scenes reset memory id and are not immutable

* emit_status export rev

* Update RequestInput.vue to handle extra_params more robustly, ensuring defaults are set correctly for input.

* only allow forking on saved messages

* linting

* tweak defaults

* summarizer fire off of push_history.after

* docs

* : in world entry titles will now load correctly

* linting

* docs

* removing base attrib ute or detail also clears it from shared list

* fix issue where cancelling some generations would cause errors

* increase font size

* formatting fixes

* unhandled errors at the loop level should not crash the entire scene

* separate message processing from main loop

* linting

* remove debug cruft

* enhance error logging in background processing to include traceback information

* linting

* nothing to detemrine of no model is sent

* fix some errors during kcpp client deletion

* improve configuration issue alert visibility

* restore input focus after autocomplete

* linting
2025-10-25 14:06:55 +03:00