Compare commits

..

205 Commits

Author SHA1 Message Date
vegu-ai-tools
9722936af6 free up space before container build 2025-12-05 20:53:57 +02:00
vegu-ai-tools
ca1e49075a fix ffmpeg verify 2025-12-05 20:53:46 +02:00
vegu-ai-tools
3f6ec9328c attempt to free space for container build 2025-12-05 20:31:41 +02:00
vegu-ai-tools
7bd8da47fc fix comment 2025-12-05 20:15:00 +02:00
vegu-ai-tools
c036aeb5eb Enhance Dockerfile comments for FFmpeg installation process, clarifying the choice of BtbN builds and the reliability of the direct download approach. 2025-12-05 20:14:01 +02:00
vegu-ai-tools
e06ded8ff4 Update Dockerfile to include FFmpeg 8.0 installation with shared libraries and set LD_LIBRARY_PATH for runtime compatibility. 2025-12-05 19:59:41 +02:00
vegu-ai-tools
974786a2ef remove comment 2025-12-05 17:51:11 +02:00
vegu-ai-tools
19f30a5991 docs 2025-12-05 17:27:22 +02:00
vegu-ai-tools
82f72d2a0d Add SHA256 checksum verification for FFmpeg download in install-ffmpeg.bat to ensure file integrity. 2025-12-05 17:23:32 +02:00
vegu-ai-tools
735cdfee51 Add optional FFmpeg installation step in install.bat, providing warnings for failure or absence of the script. 2025-12-05 17:15:16 +02:00
vegu-ai-tools
868dd924d1 relock 2025-12-05 17:04:20 +02:00
vegu-ai-tools
bdbd028bc8 docs 2025-12-05 16:55:14 +02:00
vegu-ai-tools
61632464bd Update FFmpeg installation script to download version 8.0.1 from GitHub and use tar for extraction, simplifying the process and ensuring compatibility with Windows 10. 2025-12-05 16:53:02 +02:00
vegu-ai-tools
b10ff490bb Add FFmpeg installation script: create install-ffmpeg.bat to automate downloading, extracting, and verifying FFmpeg installation for Talemate. 2025-12-05 16:40:47 +02:00
vegu-ai-tools
20380e417b relock 2025-12-05 15:49:32 +02:00
vegu-ai-tools
f6353ced38 relock 2025-12-05 15:16:51 +02:00
vegu-ai-tools
7f6c8c7dd9 add torchcodec 2025-12-05 15:07:24 +02:00
vegu-ai-tools
acca2a0fcf linting 2025-11-30 14:18:10 +02:00
vegu-ai-tools
5d48cc06d4 fix chara cv3 spec support 2025-11-30 14:07:08 +02:00
vegu-ai-tools
3e206e5c06 linting 2025-11-29 21:27:53 +02:00
vegu-ai-tools
f455a11096 Add methods for caching model data in Backend class: implement _get_cache_data and _apply_cache_data to enhance data sharing between backend instances. 2025-11-29 21:24:07 +02:00
vegu-ai-tools
647e2f277c Add caching functionality to Backend class: introduce methods for retrieving and applying cached data after successful test connections, enhancing data management across backend instances. 2025-11-29 21:24:02 +02:00
vegu-ai-tools
8cbecc67f2 Enhance sdnext_emit_status method to update model choices based on active handlers, improving backend responsiveness during processing. 2025-11-29 21:16:04 +02:00
vegu-ai-tools
91a7df67b1 Add model management in Backend class: initialize models list, update on_status_change to refresh model choices, and modify sdnext_update_model_choices to accept backend parameter for improved flexibility. 2025-11-29 21:08:00 +02:00
vegu-ai-tools
1d032e3309 Implement updateChoicesOnly method in AgentModal to preserve unsaved user values when updating agent choices. Update AIAgent to call this method when the modal is open and the current agent is being updated. 2025-11-29 21:07:50 +02:00
vegu-ai-tools
87089fad46 Add on_status_change method to Backend class for status updates, triggering visual agent notifications on status changes. 2025-11-29 21:07:29 +02:00
vegu-ai-tools
206939559c Update status icon fallback in VisualLibrary component to use 'mdi-minus-circle' for undefined statuses, improving visual feedback for users. 2025-11-29 19:05:42 +02:00
vegu-ai-tools
1757070bb9 Refactor API URL handling in visual backends to use a new utility function for normalization, ensuring consistent URL formatting across automatic1111, comfyui, and sdnext backends. 2025-11-29 19:03:09 +02:00
vegu-ai-tools
49689bcf00 Add visual and voice library documentation 2025-11-29 18:04:25 +02:00
vegu-ai-tools
c113a34a35 docs 2025-11-29 18:02:31 +02:00
vegu-ai-tools
6c5b95d501 docs 2025-11-29 17:52:34 +02:00
vegu-ai-tools
532a0a05b7 docs 2025-11-29 16:47:14 +02:00
vegu-ai-tools
04ec39f154 visual library docs 2025-11-29 15:14:24 +02:00
vegu-ai-tools
a5368a8a66 Update documentation for Shared Context to Shared World, enhancing clarity and adding details on episodes management and scene linking. 2025-11-29 13:57:33 +02:00
vegu-ai-tools
8ffdd8841c docs 2025-11-29 13:38:40 +02:00
vegu-ai-tools
83e2bdbe0e character card import docs 2025-11-29 13:26:44 +02:00
vegu-ai-tools
c97a83fb9a docs images 2025-11-29 13:07:51 +02:00
vegu-ai-tools
e2a1e465dd dont give saved character card image files as an option for character import 2025-11-29 13:07:42 +02:00
vegu-ai-tools
639955edaf Fix model name cleaning function to handle backslashes in template file names 2025-11-29 02:46:22 +02:00
vegu-ai-tools
366efb2532 linting 2025-11-28 21:36:13 +02:00
vegu-ai-tools
0cb4ba17ef add reason_prefill to force model to start with thinking block 2025-11-28 21:36:02 +02:00
vegu-ai-tools
f3b398322b linting 2025-11-28 19:56:03 +02:00
vegu-ai-tools
5e46107d07 fix kcpp visual agent auto setup failure messages 2025-11-28 19:54:34 +02:00
vegu-ai-tools
c8162ad350 linting 2025-11-28 15:57:49 +02:00
vegu-ai-tools
590e33c9b0 improve backend status display in visual library 2025-11-28 15:57:19 +02:00
vegu-ai-tools
5860745091 Remove custom clear tags functionality from VisualImageView component 2025-11-28 15:35:32 +02:00
vegu-ai-tools
4e2ad01f81 Add clear tags functionality in VisualImageView component
- Introduced a new inline confirmation button to clear tags from the form.
- Enhanced the component by importing and integrating the ConfirmActionInline component.
- Added logic to reset the tags array when the clear action is confirmed.
2025-11-28 15:28:42 +02:00
vegu-ai-tools
66bbe267e4 Add tag management features in VisualImageView component
- Introduced copy and paste functionality for tags using clipboard operations.
- Added tooltips for copy and paste buttons to enhance user experience.
- Improved layout of action buttons for better alignment and accessibility.
2025-11-28 15:25:00 +02:00
vegu-ai-tools
fcd675def0 Enhance asset search functionality in VisualLibraryScene component
- Added clear button to asset search input for easier user interaction.
- Implemented logic to determine which folders to open based on the current asset search input, ensuring relevant folders are displayed when filtering is active.
- Merged computed folder IDs with currently open nodes to maintain user selections during searches.
2025-11-28 15:20:51 +02:00
vegu-ai-tools
32dfc21c2f linting 2025-11-28 14:19:04 +02:00
vegu-ai-tools
fdf5ec0426 min thinking tokens to 512 2025-11-28 14:00:48 +02:00
vegu-ai-tools
598f6ad0b3 z image turbo workflow 2025-11-28 13:55:54 +02:00
vegu-ai-tools
b92b1048ae Add workflow reloading functionality to Backend class and improve status checks
- Implemented `_reload_workflow_if_outdated` method to reload the workflow from disk if it is outdated.
- Updated `ready` method to call the new workflow reloading method and added additional status checks for workflow validity.
- Enhanced logging for various workflow status conditions to improve debugging and monitoring.
2025-11-28 13:46:02 +02:00
vegu-ai-tools
27c378128f linting 2025-11-25 03:20:07 +02:00
vegu-ai-tools
61c0307543 sdnext auth method 2025-11-25 03:19:40 +02:00
vegu-ai-tools
8ab47e751e Improve debug logging in asset path retrieval by clarifying log message when asset ID is not found. 2025-11-25 02:46:37 +02:00
vegu-ai-tools
b636cb5398 nodes 2025-11-23 02:17:25 +02:00
vegu-ai-tools
6986f4df3f fix issue when attempting to load scene from scene search list 2025-11-23 02:15:47 +02:00
vegu-ai-tools
8ec0188001 Enhance name formatting in WorldState class to correctly handle possessive cases by using regex, ensuring proper title casing for character and item names. 2025-11-22 21:04:23 +02:00
vegu-ai-tools
cb38f6a830 Update visual styles instructions in YAML template to emphasize clear artist guidance for various art styles. 2025-11-22 20:40:04 +02:00
vegu-ai-tools
65d9137b66 Refactor prompt building logic in VisualPrompt class for improved readability and maintainability. Adjust formatting in validation module to ensure consistent newline handling. 2025-11-22 20:00:15 +02:00
vegu-ai-tools
e8fc01d227 modules 2025-11-22 19:03:45 +02:00
vegu-ai-tools
a523ba8828 Add ValidateAssetID node for asset ID validation in validation module, enhancing asset management capabilities. 2025-11-22 19:02:50 +02:00
vegu-ai-tools
ca8c2d0e03 Remove unused mediaType property and related code from DirectorConsoleChatMessageAssetView component, streamlining image handling logic and improving code clarity. 2025-11-22 18:22:44 +02:00
vegu-ai-tools
8ed3c9badf Refactor image preview functionality in DirectorConsoleChatMessageAssetView component. Replace dialog trigger with a dedicated method to handle image loading and preview sizing based on image dimensions. 2025-11-22 18:18:59 +02:00
vegu-ai-tools
0d7d49f107 nodes 2025-11-22 17:29:34 +02:00
vegu-ai-tools
8bcec0acb8 Add create_placeholder property to ValidateCharacter for optional placeholder creation when character does not exist, enhancing validation logic. 2025-11-22 17:28:52 +02:00
vegu-ai-tools
dc3ba4a18a Add new properties to VisualPrompt for handling positive and negative prompts, including keywords and descriptive formats, and refactor prompt building logic. 2025-11-22 17:28:42 +02:00
vegu-ai-tools
16f135c8f0 linting 2025-11-22 16:16:44 +02:00
veguAI
2d6d61d9d6 Director visuals (#22)
director chat action for image creation
2025-11-22 16:16:06 +02:00
vegu-ai-tools
19b70c4ba8 missing test files 2025-11-21 00:28:31 +02:00
vegu-ai-tools
e6fbc2dfaf updated what's new 2025-11-20 23:41:45 +02:00
vegu-ai-tools
053a872fde Enhance delete confirmation flow in WorldStateManagerCharacter component by focusing on input field after clicking delete button. 2025-11-20 22:53:34 +02:00
vegu-ai-tools
c0e224e2b6 linting 2025-11-20 22:29:20 +02:00
vegu-ai-tools
7fc2fccd0c Add gemini-3-pro-image-preview option to GoogleImageMixin for enhanced model selection. 2025-11-20 22:29:10 +02:00
vegu-ai-tools
7c253650b6 Add first_token_time to RequestInformation for accurate rate calculation 2025-11-20 19:44:56 +02:00
vegu-ai-tools
11c1427d9a Reduce debounce time for scene status emission from 50ms to 25ms for improved responsiveness. 2025-11-20 19:43:53 +02:00
vegu-ai-tools
7e376e02b0 node update 2025-11-20 14:01:34 +02:00
vegu-ai-tools
bf326b636d debounce scene emit_status 2025-11-20 13:32:57 +02:00
vegu-ai-tools
8502306824 Replace v-text-field with v-number-input in multiple components for improved number input handling and consistency. 2025-11-20 13:21:52 +02:00
vegu-ai-tools
8a16f500df Refactor import options in CharacterCardImport component to use v-checkbox with tooltips for better user experience and clarity. 2025-11-20 12:56:39 +02:00
vegu-ai-tools
18f8c4f752 json character card import should use new system 2025-11-20 12:39:41 +02:00
vegu-ai-tools
643ca7fc32 cleanup 2025-11-20 12:11:36 +02:00
vegu-ai-tools
1eba909376 cleanup 2025-11-20 12:02:00 +02:00
vegu-ai-tools
ac3e569324 linting 2025-11-20 11:51:41 +02:00
vegu-ai-tools
e632f2bff6 Add unique random color assignment for characters in load_scene_from_character_card function 2025-11-20 11:50:25 +02:00
vegu-ai-tools
dde6c76aa9 Add writing style template selection to CharacterCardImport component and update scene loading logic to apply selected template 2025-11-20 11:41:26 +02:00
vegu-ai-tools
152f47a12e Update episode management to reflect correct directory structure for episodes.json 2025-11-20 02:09:43 +02:00
vegu-ai-tools
a2f12ffb1b Add maxHeight property to v-select in AgentModal component 2025-11-20 02:01:54 +02:00
vegu-ai-tools
b580eb2316 Enhance error logging in Google Image backend to include result data on parse errors 2025-11-20 02:00:01 +02:00
vegu-ai-tools
7acb26cf55 fix asset meta when created through auto cover image creation 2025-11-20 01:44:54 +02:00
vegu-ai-tools
4fd3e0d25e when introducing a character without instructions send empty content 2025-11-20 00:29:41 +02:00
vegu-ai-tools
495d9b1abe prompt tweaks 2025-11-20 00:29:23 +02:00
vegu-ai-tools
2ad54cc5f2 Update cover image IDs in generate_intro_scenes 2025-11-20 00:10:38 +02:00
vegu-ai-tools
31c4e20612 Add 'gemini-3-pro-preview' model option to GoogleImageMixin configuration 2025-11-19 12:15:18 +02:00
vegu-ai-tools
63db597c1c Add support for new model 'gemini-3-pro-preview' in Google client 2025-11-19 12:09:01 +02:00
vegu-ai-tools
6fefefc695 linting 2025-11-19 01:44:19 +02:00
vegu-ai-tools
7391d76dc2 Add character dialogue example generation functionality
- Implemented a new method in the CharacterCreatorMixin to extract or generate dialogue examples for characters based on provided text.
- Updated the character card loading process to include dialogue example determination, ensuring examples are regenerated properly.
- Created a new Jinja2 template for generating dialogue examples, including guidelines for format and content.
- Enhanced logging for dialogue example generation to track character names and example counts.
2025-11-19 01:36:16 +02:00
vegu-ai-tools
885b48a83f Add new Jinja2 template for generating horizontal scene illustrations
- Created a new template to generate prompts for horizontal illustrations capturing dynamic moments in scenes.
- Included sections for character context, requirements, and task instructions to guide image generation.
- Emphasized the importance of action, emotion, and cinematic framing in the generated images.
2025-11-18 20:34:13 +02:00
vegu-ai-tools
b364bc28b0 Fix example stripping logic in Character class to handle cases without colons 2025-11-18 20:20:47 +02:00
vegu-ai-tools
2e43da8b0f linting 2025-11-18 20:09:01 +02:00
vegu-ai-tools
0e393a09e2 Add require_active flag to reinforcement templates and logic
- Introduced a require_active boolean flag in various reinforcement classes and templates to control reinforcement activation based on character status.
- Updated logic in WorldStateAgent to skip inactive character reinforcements when require_active is true.
- Enhanced frontend components to support the new require_active option for character reinforcements.
2025-11-18 19:51:34 +02:00
vegu-ai-tools
a595e73c1e Update response length calculation in NarratorAgent to use max_generation_length 2025-11-18 19:35:33 +02:00
vegu-ai-tools
3c25b99340 Enhance character card import UI with re-analyze and retry options
- Added a "Re-analyze" button that appears when file data is present and analysis is not in progress.
- Improved error handling by introducing a "Retry" button in the error alert for failed analyses.
- Adjusted the display logic for analysis information to improve user experience.
2025-11-18 19:32:10 +02:00
vegu-ai-tools
fe014755e2 allow cancelling of character card import 2025-11-18 19:25:10 +02:00
vegu-ai-tools
35b11156ee fix character card preview when card is loaded from talemate file system 2025-11-18 13:51:59 +02:00
vegu-ai-tools
b733774096 fix shared world auto refresh 2025-11-18 13:41:37 +02:00
vegu-ai-tools
a89f11cd0a linting 2025-11-18 13:09:48 +02:00
vegu-ai-tools
33cc6d3442 Add max-height constraints to episode layouts and sidebars for improved UI consistency 2025-11-18 13:09:41 +02:00
vegu-ai-tools
79d39e5297 Remove max-height constraint from episodes layout to improve UI flexibility 2025-11-18 13:06:43 +02:00
vegu-ai-tools
70cd6946eb Update excluded character names to enhance detection accuracy
- Expanded the list of excluded names in character detection to include additional variations, preventing false positives during character name identification.
2025-11-18 13:04:44 +02:00
vegu-ai-tools
eb55ec6877 linting 2025-11-18 12:53:45 +02:00
vegu-ai-tools
218a301909 Remove early return in handleMessage to ensure prompts are cleared when scene is loaded 2025-11-18 12:52:39 +02:00
vegu-ai-tools
00b96b603f prompt tweaks 2025-11-18 12:52:25 +02:00
vegu-ai-tools
d663ee01bd Refactor import options initialization in load_scene_from_character_card function
- Moved the initialization of import_options to ensure it occurs after the import statements, improving code organization and readability.
2025-11-18 12:40:07 +02:00
vegu-ai-tools
fb28888011 dont pass agent instances around 2025-11-18 12:36:42 +02:00
vegu-ai-tools
186630b11c tweaks to character description and character sheet extraction 2025-11-18 12:32:23 +02:00
vegu-ai-tools
0f96b19af7 stuff 2025-11-18 05:14:43 +02:00
vegu-ai-tools
30377189c5 linting 2025-11-18 03:47:33 +02:00
vegu-ai-tools
13bf370e76 Enhance character detection by processing texts in chunks
- Introduced a new method, detect_characters_from_texts, to analyze multiple texts by processing them in manageable chunks based on the client's max context size.
- Added functionality to avoid duplicate detections by passing already detected character names.
- Implemented utility functions for chunking items by token count and removing substring names to improve character detection accuracy.
- Updated the corresponding Jinja2 template to reflect the changes in character detection logic.
2025-11-18 03:47:20 +02:00
vegu-ai-tools
d7df0dd2e5 linting 2025-11-18 03:18:58 +02:00
vegu-ai-tools
c5cb4d7335 Enhance character card validation and error handling
- Added validation to ensure character card data is a dictionary, raising a ValueError with a clear message if invalid.
- Improved error handling in the analyze_character_card function to provide user-friendly messages for various parsing errors, including JSON decoding and file not found issues.
- Updated the CharacterCardImport component to adjust dialog sizing based on analysis errors, enhancing user feedback during character import.
2025-11-18 03:18:36 +02:00
vegu-ai-tools
0db092cb8a linting 2025-11-18 03:10:27 +02:00
vegu-ai-tools
5496ef7a57 Enhance CharacterCardImport component with dynamic dialog sizing and image preview
- Updated the dialog max-width to adjust based on the analyzing state, improving user experience during character import.
- Added an image preview section that displays the character card image or relevant messages based on the file data and path, enhancing feedback during the import process.
2025-11-18 03:09:46 +02:00
vegu-ai-tools
4e999b8300 Enhance episode title generation and character import options
- Updated the CreatorAgent to parse titles from AI responses, ensuring titles are extracted from <TITLE> tags.
- Added a new option in CharacterCardImportOptions to enable episode title generation from alternate greetings.
- Implemented logic in the loading process to generate titles for episodes if the new option is enabled.
- Enhanced the UI in CharacterCardImport.vue to include a toggle for generating episode titles during character import.
2025-11-18 03:07:39 +02:00
vegu-ai-tools
cc8579b554 Refactor CharacterCardImport component to enhance character selection UI
- Replaced radio buttons with a tabbed interface for selecting character modes: Default Template, Detected Character, and Import from Another Scene.
- Updated the layout to use a window component for displaying the corresponding input fields based on the selected character mode.
- Improved overall user experience with better organization and visual clarity in character selection options.
2025-11-18 02:29:29 +02:00
vegu-ai-tools
5741157483 Enhance character parsing logic in character_card.py
- Updated _parse_characters_from_greeting_text to accept a scene parameter for improved character validation.
- Implemented logic to validate character names against actual characters in the scene, including partial matches for NPCs.
- Added functionality to activate up to 2 NPCs if no characters are detected from the greeting text.
- Adjusted related calls to ensure compatibility with the new parsing method.
2025-11-18 02:23:04 +02:00
vegu-ai-tools
50234a4d88 Refactor WorldStateManagerSceneSharedContext for improved layout and structure
- Simplified the template structure by removing unnecessary nested rows and columns in WorldStateManagerSceneSharedContext.vue.
- Enhanced the UI layout for better readability and user experience in managing shared contexts.
- Updated WorldStateManagerSceneSharedWorld.vue to maintain consistent structure when integrating the SharedContext component.
2025-11-18 02:11:06 +02:00
vegu-ai-tools
9ed511139f Refactor WorldStateManagerScene components and introduce SharedWorld
- Renamed WorldStateManagerSceneSharedContext to WorldStateManagerSceneSharedWorld for clarity.
- Created a new WorldStateManagerSceneSharedWorld component to encapsulate shared context functionality.
- Updated references and imports across components to reflect the new structure.
- Enhanced UI elements for better user experience in managing shared contexts and episodes.
2025-11-18 02:08:56 +02:00
vegu-ai-tools
3fe34c6688 Implement auto-selection of characters based on episode intro in WorldStateManagerSceneSharedContext
- Added functionality to automatically select characters mentioned in the episode intro when the dialog is open and characters are available.
- Introduced a new method, autoSelectCharactersFromIntro, to handle the selection logic based on character names found in the intro text.
- Enhanced the existing episode selection handling to trigger character auto-selection when an episode is selected.
2025-11-18 02:05:56 +02:00
vegu-ai-tools
85777a4d2a Add sharing functionality for world entries and characters in WorldStateManager
- Implemented methods to share and unshare all world entries and characters in the WorldStateManagerPlugin and CharacterMixin classes.
- Enhanced the WorldStateManagerSceneSharedContext.vue component with UI elements to trigger sharing actions for characters and world entries.
- Added corresponding websocket actions to facilitate sharing and unsharing operations from the frontend.
2025-11-18 01:59:36 +02:00
vegu-ai-tools
fe854141e7 Refactor WorldStateManagerScene components for improved UI and functionality
- Removed unnecessary icon slots in WorldStateManagerSceneEpisodes.vue for cleaner design.
- Updated icon colors in WorldStateManagerSceneSharedContext.vue to enhance visual hierarchy.
- Streamlined dialog components for creating new scenes and shared contexts, ensuring consistent layout and user experience.
2025-11-18 01:54:14 +02:00
vegu-ai-tools
da0be7a9ff Add shared context setup option in CharacterCardImport and related components
- Introduced a new toggle in CharacterCardImport.vue for setting up shared context during character import.
- Updated CharacterCardImportOptions model to include a flag for shared context setup.
- Implemented _setup_shared_context_for_import function in character_card.py to handle shared context creation and character marking.
- Enhanced WorldStateManagerSceneSharedContext.vue to display shared context details and manage linked files more effectively.
2025-11-18 01:51:19 +02:00
vegu-ai-tools
d78c2398e4 Update icons and styling in WorldStateManagerScene components for improved UI consistency
- Changed the delete button icon in WorldStateManagerSceneEpisodes.vue to mdi-close-circle-outline for better visual clarity.
- Added margin-top class to the card text in WorldStateManagerSceneSharedContext.vue to enhance layout spacing.
2025-11-18 01:30:14 +02:00
vegu-ai-tools
096af6486e Enhance WorldStateManagerScene components with new scene and shared context features
- Added a new section for creating scenes with shared context in WorldStateManagerSceneSharedContext.vue.
- Improved UI elements including buttons and chips for better user interaction.
- Updated episode action buttons in WorldStateManagerSceneEpisodes.vue for clarity and consistency.
2025-11-18 01:26:44 +02:00
vegu-ai-tools
8e3c6fe166 Add episode editing functionality and enhance WorldStateManagerScene components
- Introduced a dialog for adding and editing episodes in WorldStateManagerSceneEpisodes.vue.
- Added buttons for editing selected episodes and improved form validation.
- Updated WorldStateManagerScene and WorldStateManagerSceneSharedContext to accept templates and generation options as props for better context management.
2025-11-18 01:07:17 +02:00
vegu-ai-tools
b097fe9439 refactor scene_versions into episodes 2025-11-18 00:57:53 +02:00
vegu-ai-tools
b8c46996b2 move import 2025-11-17 01:34:01 +02:00
vegu-ai-tools
b3cdf11d9d linting 2025-11-17 01:32:17 +02:00
vegu-ai-tools
f238b890b4 Refactor scene loading by introducing scene_stub function to create minimal Scene objects, improving asset access without full scene loading. Update SceneAssets class to utilize scene_stub for better efficiency. 2025-11-17 01:26:34 +02:00
vegu-ai-tools
30ce1541b9 transfer cover image 2025-11-17 01:22:56 +02:00
vegu-ai-tools
a46bdb929c linting 2025-11-16 23:02:09 +02:00
vegu-ai-tools
b7663ab263 Implement player character setup options in CharacterCardImport component, including template creation, existing character selection, and scene import. Update scene loading logic to accommodate new character data format and enhance character management in the application. 2025-11-16 23:01:56 +02:00
vegu-ai-tools
584b3ae7b9 modules 2025-11-16 22:24:19 +02:00
vegu-ai-tools
dd6181d02a Rename "Restore Scene" to "Reset" in SceneToolsSave component for clarity, and update confirmation prompt action label to "Reset Scene". 2025-11-16 21:31:30 +02:00
vegu-ai-tools
a2c97932d7 Enhance scene restoration process by adding a confirmation prompt in SceneToolsSave component and ensuring restore_from state is preserved in TaleMate class. 2025-11-16 21:25:57 +02:00
vegu-ai-tools
267b552d38 Add save and restore functionality to SceneToolsSave component, including visual indicators for unsaved changes and the ability to restore scenes from specified points. 2025-11-16 21:19:04 +02:00
vegu-ai-tools
814d006c88 Add unified API key support across various components and implement ConfigWidgetUnifiedApiKey for streamlined API key management. 2025-11-16 18:47:00 +02:00
vegu-ai-tools
4e57761553 Refactor CoverImage component by removing unused isPortrait logic and simplifying image handling, enhancing code clarity and maintainability. 2025-11-16 18:28:33 +02:00
vegu-ai-tools
389f0ee9ad linting 2025-11-16 18:25:24 +02:00
vegu-ai-tools
6a5d1f1173 Refactor VisualImageView component to use v-card for image display and adjust image preview styles for better responsiveness 2025-11-16 18:25:14 +02:00
vegu-ai-tools
da739b1d20 move buttons to scene component 2025-11-16 18:10:37 +02:00
vegu-ai-tools
2116d6e552 assets 2025-11-16 18:10:19 +02:00
vegu-ai-tools
36b6ef5b7d add analysis data 2025-11-16 17:40:21 +02:00
vegu-ai-tools
3d4d995710 Add reference_assets field to EditAssetMetaPayload and update related components for improved asset management and metadata handling. 2025-11-16 17:40:12 +02:00
vegu-ai-tools
13087e676a Add metadata to scene cover asset in library.json, including visual type, generation type, resolution, and tags for improved asset management. 2025-11-16 17:26:15 +02:00
vegu-ai-tools
3575a0d67b assets 2025-11-16 17:24:43 +02:00
vegu-ai-tools
b28c28f25d Refine template management description in Templates.vue for clarity and conciseness 2025-11-16 17:23:43 +02:00
vegu-ai-tools
1e9b8f18a1 Add styles for image positioning in IntroRecentScenes component to enhance visual layout 2025-11-16 16:46:56 +02:00
vegu-ai-tools
53dbc2a085 Remove redundant debug logging in migrate_scene_assets_to_library function 2025-11-16 16:46:51 +02:00
vegu-ai-tools
5a12395fb9 assets 2025-11-16 16:41:17 +02:00
vegu-ai-tools
df197ac873 assets 2025-11-16 16:40:59 +02:00
vegu-ai-tools
deab1bf3c3 assets 2025-11-16 16:39:28 +02:00
vegu-ai-tools
0f5731f7b5 Add scene_info method to SceneAssets class for simplified asset data retrieval 2025-11-16 16:24:22 +02:00
vegu-ai-tools
5b5a9e3d68 update assets 2025-11-16 16:24:00 +02:00
vegu-ai-tools
5fed0115f3 Improve image aspect ratio handling in CoverImage component by introducing a delay before checking the aspect ratio. Reset portrait flag upon asset updates for various asset types to ensure accurate orientation detection. 2025-11-16 16:10:51 +02:00
vegu-ai-tools
2589ad36f8 linting 2025-11-16 14:45:52 +02:00
vegu-ai-tools
d2441142e0 module update 2025-11-16 14:45:42 +02:00
vegu-ai-tools
2a645ee0c6 Implement save option for asset analysis in AnalysisRequest and related components. Update websocket handler and frontend to support saving analysis results conditionally based on user input. 2025-11-16 14:45:14 +02:00
vegu-ai-tools
d453ee6781 linting 2025-11-16 13:39:55 +02:00
vegu-ai-tools
eaa9f76181 unified asset library 2025-11-16 13:38:55 +02:00
vegu-ai-tools
6890f4f138 Add unified API key configuration support across various client classes and implement handling for saving the API key in the server config. Update frontend components to manage and display the unified API key. 2025-11-16 12:31:18 +02:00
vegu-ai-tools
1ae3d2669c Enhance CoverImage component with improved aspect ratio handling and responsive styling. Added logic to determine image orientation and updated class bindings for better visual consistency. 2025-11-16 11:44:05 +02:00
vegu-ai-tools
566e03c9e6 Refactor CoverImage and IntroRecentScenes components to improve image handling and styling. Added aspect ratios and updated class usage for better responsiveness and visual consistency. 2025-11-16 11:32:54 +02:00
vegu-ai-tools
dff778c997 relock 2025-11-16 11:28:06 +02:00
vegu-ai-tools
a8d9202c92 Add clarification on content search methodology in WorldStateManagerContextDB.vue 2025-11-16 02:00:15 +02:00
vegu-ai-tools
9dfe5d34db more character info for visual generation 2025-11-16 01:55:59 +02:00
vegu-ai-tools
70fc83afe5 linting 2025-11-16 01:29:03 +02:00
vegu-ai-tools
1730c7f53c director can generate visuals for new characters 2025-11-16 01:28:40 +02:00
vegu-ai-tools
4cdf3f240f linting 2025-11-15 21:07:56 +02:00
vegu-ai-tools
693052046b Enhance loading status setup in character card import by adding parameters for character count and character book presence. Adjust loading steps calculation for improved accuracy based on these parameters. 2025-11-15 21:07:10 +02:00
vegu-ai-tools
b7ea6c9d7f linting 2025-11-15 21:03:48 +02:00
vegu-ai-tools
77a14ab3db Refactor character management to utilize ClientContext for scene detection, enhancing flexibility in handling active scenes. Update context model to include 'requires_active_scene' attribute and streamline error handling in client base. 2025-11-15 21:03:39 +02:00
vegu-ai-tools
0a0cf9427a linting 2025-11-15 20:45:47 +02:00
vegu-ai-tools
170380becc Remove unused 'app-ready' prop from VisualLibrary component to streamline code and improve clarity. 2025-11-15 20:45:03 +02:00
vegu-ai-tools
8ff51def0f Update character card import alert color and icon for improved visibility during analysis 2025-11-15 20:44:56 +02:00
vegu-ai-tools
7431752afe improved character card import 2025-11-15 20:30:43 +02:00
vegu-ai-tools
e4ae19949a Refactor changelog handling to use a local variable for InMemoryChangelog, improving code clarity and maintainability. 2025-11-15 20:17:04 +02:00
vegu-ai-tools
42d2b574db character card import improvements 2025-11-15 19:55:36 +02:00
vegu-ai-tools
833dde378f linting 2025-11-15 19:02:19 +02:00
vegu-ai-tools
3b7df1eb3c support alternative intros 2025-11-15 18:25:41 +02:00
vegu-ai-tools
7f2fc4421c character card lorebook loading 2025-11-15 17:42:36 +02:00
vegu-ai-tools
1a06b70994 Refactor scene cover image handling to emit status only when the scene is active, ensuring proper event management. Update TalemateApp to include 'type' prop for CoverImage component, enhancing flexibility in rendering. 2025-11-15 17:42:21 +02:00
vegu-ai-tools
858b94856b load.py into load module 2025-11-15 16:16:18 +02:00
vegu-ai-tools
5a38958819 Enhance tab selection logic in TalemateApp to prefer 'home' tab when no scene is loaded, improving user experience during initial app interactions. 2025-11-15 16:00:33 +02:00
vegu-ai-tools
c0eaa00872 Update client configuration options to only include enabled clients in the agent's config options. 2025-11-15 15:58:21 +02:00
vegu-ai-tools
7052cedd3f app ready status 2025-11-15 15:05:16 +02:00
vegu-ai-tools
0c77004725 fix pydantic warnings 2025-11-15 13:48:42 +02:00
vegu-ai-tools
93c5c58c10 fix tests 2025-11-15 13:44:00 +02:00
vegu-ai-tools
e5e3091c9c remove runpod integration 2025-11-15 13:40:24 +02:00
vegu-ai-tools
be472b4b15 module fix 2025-11-15 13:34:06 +02:00
veguAI
04e8349975 Visual refactor 2 (#20)
- visual agent refactor
- visual library
- move template management out of world editor
2025-11-15 13:32:50 +02:00
vegu-ai-tools
1f47219b35 enabled needs to be passed to apply config so agents can act on it changing 2025-10-26 21:59:49 +02:00
vegu-ai-tools
e51d1dbcbc set 0.34 2025-10-26 20:14:42 +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
584 changed files with 86432 additions and 8680 deletions

View File

@@ -19,6 +19,25 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Remove unnecessary files to release disk space
run: |
sudo rm -rf \
"$AGENT_TOOLSDIRECTORY" \
/opt/ghc \
/opt/google/chrome \
/opt/microsoft/msedge \
/opt/microsoft/powershell \
/opt/pipx \
/usr/lib/mono \
/usr/local/julia* \
/usr/local/lib/android \
/usr/local/lib/node_modules \
/usr/local/share/chromium \
/usr/local/share/powershell \
/usr/local/share/powershell \
/usr/share/dotnet \
/usr/share/swift
- name: Log in to GHCR
uses: docker/login-action@v3
with:

View File

@@ -14,6 +14,25 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Remove unnecessary files to release disk space
run: |
sudo rm -rf \
"$AGENT_TOOLSDIRECTORY" \
/opt/ghc \
/opt/google/chrome \
/opt/microsoft/msedge \
/opt/microsoft/powershell \
/opt/pipx \
/usr/lib/mono \
/usr/local/julia* \
/usr/local/lib/android \
/usr/local/lib/node_modules \
/usr/local/share/chromium \
/usr/local/share/powershell \
/usr/local/share/powershell \
/usr/share/dotnet \
/usr/share/swift
- name: Log in to GHCR
uses: docker/login-action@v3
with:

3
.gitignore vendored
View File

@@ -31,4 +31,5 @@ scenes/
!scenes/infinity-quest/infinity-quest.json
tts_voice_samples/*.wav
third-party-docs/
legacy-state-reinforcements.yaml
legacy-state-reinforcements.yaml
CLAUDE.md

View File

@@ -45,6 +45,9 @@ WORKDIR /app
RUN apt-get update && apt-get install -y \
bash \
wget \
tar \
xz-utils \
&& rm -rf /var/lib/apt/lists/*
# Install uv in the final stage
@@ -53,6 +56,21 @@ RUN pip install uv
# Copy virtual environment from backend-build stage
COPY --from=backend-build /app/.venv /app/.venv
# Download and install FFmpeg 8.0 with shared libraries into .venv (matching Windows installer approach)
# Using BtbN FFmpeg builds which provide shared libraries - verified to work
# Note: We tried using jrottenberg/ffmpeg:8.0-ubuntu image but copying libraries from it didn't work properly,
# so we use the direct download approach which is more reliable and matches the Windows installer
RUN cd /tmp && \
wget -q https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-linux64-gpl-shared.tar.xz -O ffmpeg.tar.xz && \
tar -xf ffmpeg.tar.xz && \
cp -a ffmpeg-master-latest-linux64-gpl-shared/bin/* /app/.venv/bin/ && \
cp -a ffmpeg-master-latest-linux64-gpl-shared/lib/* /app/.venv/lib/ && \
rm -rf ffmpeg-master-latest-linux64-gpl-shared ffmpeg.tar.xz && \
LD_LIBRARY_PATH=/app/.venv/lib /app/.venv/bin/ffmpeg -version | head -n 1
# Set LD_LIBRARY_PATH so torchcodec can find ffmpeg libraries at runtime
ENV LD_LIBRARY_PATH=/app/.venv/lib:${LD_LIBRARY_PATH}
# Copy Python source code
COPY --from=backend-build /app/src /app/src

View File

@@ -1,134 +0,0 @@
"""
An attempt to write a client against the runpod serverless vllm worker.
This is close to functional, but since runpod serverless gpu availability is currently terrible, i have
been unable to properly test it.
Putting it here for now since i think it makes a decent example of how to write a client against a new service.
"""
import pydantic
import structlog
import runpod
import asyncio
import aiohttp
from talemate.client.base import ClientBase, ExtraField
from talemate.client.registry import register
from talemate.emit import emit
from talemate.config import Client as BaseClientConfig
log = structlog.get_logger("talemate.client.runpod_vllm")
class Defaults(pydantic.BaseModel):
max_token_length: int = 4096
model: str = ""
runpod_id: str = ""
class ClientConfig(BaseClientConfig):
runpod_id: str = ""
@register()
class RunPodVLLMClient(ClientBase):
client_type = "runpod_vllm"
conversation_retries = 5
config_cls = ClientConfig
class Meta(ClientBase.Meta):
title: str = "Runpod VLLM"
name_prefix: str = "Runpod VLLM"
enable_api_auth: bool = True
manual_model: bool = True
defaults: Defaults = Defaults()
extra_fields: dict[str, ExtraField] = {
"runpod_id": ExtraField(
name="runpod_id",
type="text",
label="Runpod ID",
required=True,
description="The Runpod ID to connect to.",
)
}
def __init__(self, model=None, runpod_id=None, **kwargs):
self.model_name = model
self.runpod_id = runpod_id
super().__init__(**kwargs)
@property
def experimental(self):
return False
def set_client(self, **kwargs):
log.debug("set_client", kwargs=kwargs, runpod_id=self.runpod_id)
self.runpod_id = kwargs.get("runpod_id", self.runpod_id)
def tune_prompt_parameters(self, parameters: dict, kind: str):
super().tune_prompt_parameters(parameters, kind)
keys = list(parameters.keys())
valid_keys = ["temperature", "top_p", "max_tokens"]
for key in keys:
if key not in valid_keys:
del parameters[key]
async def get_model_name(self):
return self.model_name
async def generate(self, prompt: str, parameters: dict, kind: str):
"""
Generates text from the given prompt and parameters.
"""
prompt = prompt.strip()
self.log.debug("generate", prompt=prompt[:128] + " ...", parameters=parameters)
try:
async with aiohttp.ClientSession() as session:
endpoint = runpod.AsyncioEndpoint(self.runpod_id, session)
run_request = await endpoint.run(
{
"input": {
"prompt": prompt,
}
# "parameters": parameters
}
)
while (await run_request.status()) not in [
"COMPLETED",
"FAILED",
"CANCELLED",
]:
status = await run_request.status()
log.debug("generate", status=status)
await asyncio.sleep(0.1)
status = await run_request.status()
log.debug("generate", status=status)
response = await run_request.output()
log.debug("generate", response=response)
return response["choices"][0]["tokens"][0]
except Exception as e:
self.log.error("generate error", e=e)
emit(
"status", message="Error during generation (check logs)", status="error"
)
return ""
def reconfigure(self, **kwargs):
if kwargs.get("model"):
self.model_name = kwargs["model"]
if "runpod_id" in kwargs:
self.api_auth = kwargs["runpod_id"]
self.set_client(**kwargs)

View File

@@ -12,14 +12,6 @@
!!! note "First start can take a while"
The initial download and dependency installation may take several minutes, especially on slow internet connections. The console will keep you updated just wait until the Talemate logo shows up.
### Optional: CUDA support
If you have an NVIDIA GPU and want CUDA acceleration for larger embedding models:
1. Close Talemate (if it is running).
2. Double-click **`install-cuda.bat`**. This script swaps the CPU-only Torch build for the CUDA 12.8 build.
3. Start Talemate again via **`start.bat`**.
## Maintenance & advanced usage
| Script | Purpose |

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 471 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Some files were not shown because too many files have changed in this diff Show More