Commit Graph

194 Commits

Author SHA1 Message Date
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
b151031735 docs: fold post-#104 changelog entries into 0.39.0 changelog and What's New (#160) 2026-07-27 14:07:53 +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
8c8af33bb6 test: derive DEFAULT_CONSOLIDATE from production and pin the shipped Consolidate default (#149) (#150)
* test: derive DEFAULT_CONSOLIDATE from production and pin the shipped Consolidate default (#149)

* test: tighten test_consolidate_default comment to what the pin actually catches (PR #150 review)
2026-07-25 17:38:53 +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
33277bbef6 fix #147: split-mode card import passes the character as sheet-prompt context (#151)
* fix #147: pass the imported character as sheet-prompt context in split-mode card import

* test: pin the default-config split-import sheet prompt content (#147 review)
2026-07-25 17:10:57 +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
vegu-ai-tools
123ad9fb36 style tweaks 2026-07-22 12:00:02 +03:00
veguAI
142f90141c fix: system_time template function crashed on Windows (glibc-only strftime codes) (#134)
* fix: system_time template function crashed on Windows (glibc-only strftime codes) #131

* review: type system_time format as Literal, pin C locale in exact-string tests
2026-07-22 09:59:17 +03:00
veguAI
b20684eeaa fix: ApplyStyle node crashed on any real style template id (#123) (#132)
* fix: ApplyStyle node crashed on any real style template id (#123)

* refactor: guard apply_style against non-visual templates, dedupe style resolution (#123 review)

* refactor: consolidate remaining template-id resolutions onto find_template_by_id (#123)
2026-07-22 09:17:06 +03:00
veguAI
8426b0a3dc fix: director chat image generation inserts into orphan chat (#129) (#130)
* fix: director chat image generation inserts into orphan chat (#129)

* refactor: address PR #130 review - trim diff-narration comment, use shared node test helper
2026-07-21 18:08:14 +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
vegu-ai-tools
22abf2811a bump version to 0.39.0.dev2 across project files 2026-07-20 17:41: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
97936bca17 Fix BuildPrompt memory_prompt and GenerateResponse action_type input sockets being ignored (#120)
* fix: honor wired memory_prompt and action_type input sockets in BuildPrompt/GenerateResponse (#113)

* review follow-up: assert property-only action_type kind, fix client_responses typo, soften changelog wired-socket wording (#113)
2026-07-20 16:17:34 +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
1ebddba6e3 UX: smaller, viewport-responsive Quick Load recent scene cards (#117) (#119)
* ux: make quick-load recent scene cards smaller and responsive to viewport (#117)

* ux: fit a full 10-entry quick-load list in one row at the landing container max width
2026-07-20 13:04:22 +03:00
veguAI
d73daa0a4a fix: spawn pi via resolved binary path and quiet missing-pi startup (#118)
* fix: spawn pi via resolved binary path and quiet missing-pi startup (#116)

* fix: pass pi system prompt as a file and resolve the binary once (#116 review)
2026-07-20 11:58:32 +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
31f919e426 docs: fold post-#87 changelog entries into 0.39.0 changelog and What's New (#104) 2026-07-19 11:58:06 +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
0cf438ffe9 fix: show Context Length input in client edit modal for all client types (#101)
* fix: show Context Length input in client edit modal for all client types (#92)

* review: use the dedicated rulesMaxTokenLength ruleset on the Context Length input
2026-07-18 20:24:06 +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
237c2762f9 fix: tolerate transient client status failures before flapping to disconnected (#94)
* fix: tolerate transient client status failures before flapping to disconnected (#93)

* refactor: extract shared status-failure debounce helper (review follow-up)
2026-07-16 02:38:42 +03:00
veguAI
85fcad8094 Fix ctx/reasoning slider rubberbanding in the client list (#89) (#91)
* fix: client list ctx/reasoning slider rubberbanding (#89)

* refactor: fold status coalescing tests into test_instance.py, hoist echo grace const (PR #91 review)
2026-07-15 14:08:57 +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
95e067bc40 0.39.0 user-facing changelog + What's New (#87)
* docs: add 0.39.0 user-facing changelog and What's New update

* docs: tighten 0.39.0 What's New feature descriptions (drop discovery-path enumerations)
2026-07-11 13:36:54 +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
ff791307ba fix: repair force-mode dict artifacts in changelog list fields during reconstruction (#81) (#82)
* fix: repair force-mode dict artifacts in changelog list fields during reconstruction (#81)

* fix: address review - move _LIST_FIELDS to constants block, cover game_state_watch_paths, strict index-key regex
2026-07-07 12:25:40 +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
b2686b81f8 refactor: extract shared api_handles_prompt_template mixin and chat message assembly (#70)
* refactor: extract shared api_handles_prompt_template mixin and chat message assembly (#67)

* review: direct attribute access in ApiHandlesPromptTemplateMixin (fail loudly on mis-wiring)
2026-07-06 01:18:02 +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
73f6199979 Unify tracked-state quick actions into a single Track State action (#72)
* feature(world-state): unify tracked-state quick actions into a single Track State action

* refactor(world-state): address PR review - drop unused character prop, rename defaultInsert, remove comment noise
2026-07-06 00:30:30 +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
202e350600 refactor: extract shared asset-grid base for character/scene visual managers (#64)
* refactor: extract shared asset-grid base components for visual managers (#63)
2026-07-05 15:26:22 +03:00