contextweave 0.2.1__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {contextweave-0.2.1 → contextweave-0.2.2}/PKG-INFO +10 -10
- {contextweave-0.2.1 → contextweave-0.2.2}/README.md +9 -9
- {contextweave-0.2.1 → contextweave-0.2.2}/README_ZH.md +9 -9
- {contextweave-0.2.1 → contextweave-0.2.2}/pyproject.toml +1 -1
- {contextweave-0.2.1 → contextweave-0.2.2}/.github/workflows/release.yml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/.gitignore +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/LICENSE +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/Makefile +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/cat-ui.spec +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/files/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/files/glossary_io.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/application_event_bridge.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/task_engine.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/base_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/batch_task_overlap_guard.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/batch_translation_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/chunk_retranslation_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/export_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/glossary_export_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/glossary_extraction_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/glossary_review_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/glossary_translation_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/image_reembedding_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/import_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/ocr_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/operation_tracker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/translate_and_export_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/translation_manga_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/translation_text_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/app_identity.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/composition.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/app_setup.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/common.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/document.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/project_setup.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/projects.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/queue.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/terms.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/work.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/errors.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/events.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/runtime.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/_export_support.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/app_setup.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/document.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/project_setup.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/projects.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/queue.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/terms.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/work.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/cli/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/cli/config_file.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/cli/main.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/cli/output.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/cli/runtime.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/cli/wait.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/config.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/cancellation.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/context_extractor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/context_manager.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/manga_document_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/models.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/progress.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/term_memory.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/term_memory_builder.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/translation_strategies.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/base.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/content/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/content/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/content/ocr_content.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/content/ocr_items.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_container.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/container_model.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/container_patch.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/container_reader.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/container_shared.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/container_writer.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/inline_markers.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/nav_ops.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/slot_lines.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/xml_utils.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_xhtml_utils.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/manga.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/manga_alignment.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/manga_reembed_planner.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/pdf.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/scanned_book.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/subtitle.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/text.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/batch_jobs/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/batch_jobs/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/batch_jobs/base.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/batch_jobs/gemini_gateway.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/client.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/epub_ocr.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/extractor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/glossary_translator.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/image_backend_base.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/image_backends/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/image_backends/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/image_backends/gemini_backend.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/image_backends/openai_backend.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/image_backends/qwen_backend.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/image_generator.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/language_detector.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/manga_ocr.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/manga_translator.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/ocr.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/reviewer.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/session_trace.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/summarizor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/token_tracker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/translation_strategies.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/translator.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/hk2s.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/jp2s.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/s2hk.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/s2t.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/s2tw.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/s2twp.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/t2hk.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/t2s.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/t2tw.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/tw2s.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/tw2sp.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/HKVariants.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/HKVariantsPhrases.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/HKVariantsRev.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/HKVariantsRevPhrases.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/JPVariants.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/JPVariantsRev.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/STCharacters.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/STPhrases.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/TSCharacters.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/TSPhrases.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/TWPhrases.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/TWPhrasesRev.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/TWVariants.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/TWVariantsRev.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/dictionary/TWVariantsRevPhrases.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/tokenizers/deepseek-v3/special_tokens_map.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/tokenizers/deepseek-v3/tokenizer.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/tokenizers/deepseek-v3/tokenizer_config.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/library/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/library/book_manager.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/models/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/models/book.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/models/config_profile.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/models/endpoint_profile.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/repositories/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/repositories/document_repository.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/repositories/llm_batch_store.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/repositories/task_store.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/repositories/term_repository.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/repositories/translation_batch_task_store.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/schema/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/schema/book_db.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/schema/registry_db.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/storage/sqlite_locking.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/chrome_sizing.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/constants.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/app_settings_pane.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/app_setup_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/document_images_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/document_ocr_tab.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/document_translation_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/document_workspace_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/library_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/project_settings_pane.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/queue_drawer_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/terms_table_widget.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/terms_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/work_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/features/workflow_profile_editor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/i18n.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/json_utils.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/main.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/main_window.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/BootstrapProbe.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/app/AppShellChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/dialogs/app_settings/AppSettingsDialogChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/dialogs/app_settings/AppSettingsPane.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/dialogs/project_settings/ProjectSettingsDialogChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/dialogs/project_settings/ProjectSettingsPane.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/document/DocumentShellChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/document/export/DocumentExportPaneChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/document/images/DocumentImagesPaneChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/document/ocr/DocumentOCRPaneChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/document/translation/DocumentTranslationPaneChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/project/ProjectShellChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/project/terms/TermsPaneChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/project/work_home/WorkHomeChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml/queue/QueueShellChrome.qml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/qml_resources.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/resources/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/resources/styles.qss +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/shell_hosts/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/shell_hosts/app_settings_dialog_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/shell_hosts/app_shell_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/shell_hosts/document_shell_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/shell_hosts/hybrid.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/shell_hosts/project_settings_dialog_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/shell_hosts/project_shell_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/shell_hosts/queue_shell_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/sleep_inhibitor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/startup.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/tips.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/translations/zh_CN.qm +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/translations/zh_CN.ts +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/app_settings_dialog.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/app_settings_pane.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/app_shell.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/base.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/document_export_pane.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/document_images_pane.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/document_ocr_pane.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/document_shell.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/document_translation_pane.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/project_settings_dialog.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/project_settings_pane.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/project_shell.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/queue_shell.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/router.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/terms_pane.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/viewmodels/work_home.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/widgets/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/widgets/hybrid_controls.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/widgets/image_viewer.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/widgets/progress_widget.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/widgets/table_support.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/ui/window_controllers.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/chunking.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/cjk_normalize.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/compression_marker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/file_utils.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/hard_wrap.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/hashing.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/image_utils.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/llm_json_cleaner.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/markdown_escape.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/pandoc_export.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/semantic_chunker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/string_similarity.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/utils/symbol_check.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/bootstrap.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/image_fetcher.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/ops/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/ops/bootstrap_ops.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/ops/export_ops.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/ops/glossary_ops.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/ops/import_ops.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/ops/import_support.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/ops/ocr_ops.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/ops/translation_ops.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/runtime.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/session.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/task_runtime.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/claims.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/engine_core.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/exceptions.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/execution/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/execution/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/execution/batch_translation_executor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/execution/batch_translation_ops.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/glossary_preflight.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/base.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/batch_translation.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/chunk_retranslation.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/glossary_export.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/glossary_extraction.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/glossary_review.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/glossary_translation.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/image_reembedding.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/ocr.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/translate_and_export.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/translation_manga.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/handlers/translation_text.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/models.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/translate_and_export_support.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/workflow/tasks/worker_deps.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/data/cat-library/registry.db +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/data/cat-library/task_store.db +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/demo/The Count of Monte Cristo.epub +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/demo//345/237/272/347/235/243/345/261/261/344/274/257/347/210/265.epub" +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/.nojekyll +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/examples/contextweave-cli.yaml +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/index.html +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/project-terms-manual-entry-ux.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN/API/351/205/215/347/275/256.png" +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN/latest_new_project_dialog.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN/latest_project_work_overview.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN/latest_projects_overview.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN/latest_setup_wizard_provider_selection.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN/latest_setup_wizard_workflow_profile_review.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN/latest_terms_overview.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN//345/257/274/345/205/245.png" +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN//345/257/274/345/207/272.png" +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN//346/226/260/351/241/271/347/233/256.png" +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN//346/234/257/350/257/255.png" +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN//347/277/273/350/257/221.png" +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN//350/256/276/347/275/256.png" +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN//350/256/276/347/275/256/345/220/221/345/257/274.png" +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/CN//350/256/276/347/275/256/347/273/223/346/235/237.png" +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/APISetup.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/Export.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/Import.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/InitialSetup.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/Language.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/NewProject.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/Terms.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/Translate.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/TranslateAndExport.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/Wizard.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/latest_new_project_dialog.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/latest_project_work_overview.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/latest_projects_overview.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/latest_setup_wizard_provider_selection.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/latest_setup_wizard_workflow_profile_review.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/screenshots/EN/latest_terms_overview.png +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/docs/styles.css +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/installer/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/installer/macos/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/installer/macos/entitlements.plist +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/installer/windows/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/scripts/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/scripts/build_ui.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/scripts/generate_readme_screenshots.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/scripts/run_ui_tests.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/adapters/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/adapters/files/test_glossary_io.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/application/fakes.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/application/test_composition.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/application/test_contracts.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/application/test_document_service.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/application/test_document_translation_service.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/application/test_events.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/application/test_export_services.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/application/test_queue_service.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/application/test_terms_service.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/application/test_ui_harness_pattern.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/architecture/test_migrated_ui_boundaries.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/architecture/test_packaging_hidden_imports.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/architecture/test_qml_ui_boundaries.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/cli/test_cli.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/config/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/config/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/config/test_endpoint_profiles.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/conftest.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/core/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/core/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/core/expected_batching_output.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/core/test-terms.json +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/core/test_context_extractor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/core/test_context_manager.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/core/test_manga_document_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/core/test_models.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/core/test_noise_filtering_pipeline.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/core/test_term_memory_builder.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/core/test_translation_context_manager_strategy_api.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/data/test_chunk.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/data/test_chunk2.txt +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/content/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/content/test_ocr_content.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/content/test_ocr_items.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_base.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_epub.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_epub_container.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_epub_inline_markers.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_epub_xhtml_utils.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_manga.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_manga_alignment.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_ocr_image_embedded_text.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_pdf.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_scanned_book.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_subtitle.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/documents/test_text.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/integration/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/integration/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/integration/test_business_logic.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_extractor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_extractor_unit.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_gemini_backend.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_gemini_batch_gateway.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_glossary_translator.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_image_generator.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_image_token_usage.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_language_detector.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_llm_client.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_manga_translator.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_ocr.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_reviewer.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_session_trace.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_summarizor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_token_tracker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_token_usage_extraction.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/llm/test_translator.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/storage/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/storage/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/storage/test_book_db.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/storage/test_book_manager.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/storage/test_document_repository.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/storage/test_document_tables.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/storage/test_llm_batch_store.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/storage/test_task_store.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/storage/test_term_repository.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/storage/test_token_tracking.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/storage/test_translation_batch_task_store.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/test_logging_handlers.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/conftest.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/tasks/test_task_engine.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_app_settings_dialog_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_app_settings_dialog_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_app_settings_pane.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_app_settings_pane_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_app_setup_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_app_shell_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_app_shell_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_document_export_pane_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_document_images_pane_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_document_images_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_document_ocr_tab.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_document_shell_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_document_shell_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_document_translation_pane_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_document_translation_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_document_workspace_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_i18n_progress_messages.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_image_viewer.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_library_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_main.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_main_window_shell.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_progress_widget.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_project_settings_dialog_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_project_settings_dialog_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_project_settings_pane.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_project_settings_pane_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_project_shell_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_project_shell_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_qml_bootstrap.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_qml_viewmodel_harness.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_queue_drawer_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_queue_shell_host.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_queue_shell_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_shell_host_infrastructure.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_sleep_inhibitor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_terms_pane_viewmodel.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_terms_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_ui_clickthrough_smoke.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_viewmodel_base.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_work_view.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_worker_cancellation_reporting.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/test_workflow_profile_editor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/workers/test_batch_task_overlap_guard.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/workers/test_chunk_retranslation_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/workers/test_config_snapshot_workers.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/workers/test_glossary_export_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/workers/test_glossary_review_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/workers/test_ocr_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/workers/test_operation_tracker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/workers/test_translate_and_export_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/workers/test_translation_manga_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/ui/workers/test_translation_text_task_worker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/test_chunking.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/test_cjk_normalize.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/test_file_utils.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/test_hard_wrap.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/test_hashing.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/test_llm_json_cleaner.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/test_markdown_escape.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/test_semantic_chunker.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/test_string_similarity.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/utils/test_symbol_check.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/execution/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/execution/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/execution/test_batch_translation_executor.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/AGENTS.md +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/__init__.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/test_batch_translation_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/test_chunk_retranslation_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/test_glossary_export_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/test_glossary_extraction_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/test_glossary_review_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/test_glossary_translation_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/test_image_reembedding_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/test_ocr_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/test_translate_and_export_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/test_translation_manga_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/handlers/test_translation_text_handler.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/test_claims.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/tasks/test_engine_core.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/test_glossary_ops_scoping.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/test_import_export.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/test_multi_document.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/test_ocr_required_for_translation.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/test_run_ocr.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/test_service_bootstrap_lock.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/test_service_cancellation_semantics.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/test_session.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/test_translator_image_fetcher.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/tests/workflow/test_translator_import_path.py +0 -0
- {contextweave-0.2.1 → contextweave-0.2.2}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: contextweave
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: ContextWeave: context-aware document translation with glossary management
|
|
5
5
|
Project-URL: Homepage, https://github.com/bot-32142/ContextWeave
|
|
6
6
|
Project-URL: Documentation, https://bot-32142.github.io/ContextWeave/
|
|
@@ -47,7 +47,7 @@ Requires-Dist: torch>=2.0.0
|
|
|
47
47
|
Requires-Dist: transformers>=4.57.3
|
|
48
48
|
Description-Content-Type: text/markdown
|
|
49
49
|
|
|
50
|
-
**English** | [中文](README_ZH.md)
|
|
50
|
+
**English** | [中文](https://github.com/bot-32142/ContextWeave/blob/master/README_ZH.md)
|
|
51
51
|
|
|
52
52
|
# ContextWeave
|
|
53
53
|
|
|
@@ -97,19 +97,19 @@ Current desktop builds are unsigned, so the first launch may show an OS security
|
|
|
97
97
|
|
|
98
98
|
This is the home screen for projects. Use `Setup Wizard` for the quickest first-time setup.
|
|
99
99
|
|
|
100
|
-

|
|
100
|
+

|
|
101
101
|
|
|
102
102
|
### 2. Choose providers and paste API keys
|
|
103
103
|
|
|
104
104
|
The wizard collects the providers it needs up front. For most users, `DeepSeek` + `Gemini` is the most practical starting point.
|
|
105
105
|
|
|
106
|
-

|
|
106
|
+

|
|
107
107
|
|
|
108
108
|
### 3. Review the workflow profile
|
|
109
109
|
|
|
110
110
|
The review step shows which connection and model ContextWeave will use for each workflow step.
|
|
111
111
|
|
|
112
|
-

|
|
112
|
+

|
|
113
113
|
|
|
114
114
|
`Quality` spends more for better reasoning and can get very, very expensive unless you are using only `DeepSeek`. `Balanced` is the safest default. `Budget` is the cheapest option when you want to minimize cost.
|
|
115
115
|
|
|
@@ -121,19 +121,19 @@ The review step shows which connection and model ContextWeave will use for each
|
|
|
121
121
|
|
|
122
122
|
Pick a project name, target language, and workflow profile.
|
|
123
123
|
|
|
124
|
-

|
|
124
|
+

|
|
125
125
|
|
|
126
126
|
### 2. Open the project work page
|
|
127
127
|
|
|
128
128
|
Import files in reading order so terminology and context stay consistent across the whole book, then click `Translate and Export` to start. Double-click a file if you want to inspect each step manually or retouch images.
|
|
129
129
|
|
|
130
|
-

|
|
130
|
+

|
|
131
131
|
|
|
132
132
|
### 3. Optional: import existing term translations
|
|
133
133
|
|
|
134
134
|
Open `Terms`, then use `Import Terms` if you already have a terminology list you want ContextWeave to reuse. A simple JSON object like `{"original": "translated"}` is enough.
|
|
135
135
|
|
|
136
|
-

|
|
136
|
+

|
|
137
137
|
|
|
138
138
|
## Demo EPUBs
|
|
139
139
|
|
|
@@ -141,7 +141,7 @@ This sample EPUB was generated with `Translate and Export` directly from the Fre
|
|
|
141
141
|
|
|
142
142
|
Quality can be dramatically better with `Gemini` or `GPT`, but the cost is also significantly higher.
|
|
143
143
|
|
|
144
|
-
- [The Count of Monte Cristo.epub](demo/The%20Count%20of%20Monte%20Cristo.epub) - English output. Cost: under `$2.5`.
|
|
144
|
+
- [The Count of Monte Cristo.epub](https://github.com/bot-32142/ContextWeave/raw/master/demo/The%20Count%20of%20Monte%20Cristo.epub) - English output. Cost: under `$2.5`.
|
|
145
145
|
|
|
146
146
|
## CLI
|
|
147
147
|
|
|
@@ -163,7 +163,7 @@ contextweave-cli books delete BOOK_ID --yes
|
|
|
163
163
|
|
|
164
164
|
The CLI resolves config from `--config`, then `CONTEXTWEAVE_CONFIG`, then the nearest `contextweave.yaml`/`.contextweave.yaml` walking upward, then the platform default shown by `contextweave-cli config path`. The config mirrors the setup UI: `connections` define provider endpoints and `workflow_profiles` route each translation step. Prefer `api_key_env` so API keys stay in environment variables instead of config files or task snapshots. Use `--no-polish` when a one-shot run should skip the polish pass, which can be useful for timing-sensitive subtitle output.
|
|
165
165
|
|
|
166
|
-
A commented starting point is available at [docs/examples/contextweave-cli.yaml](docs/examples/contextweave-cli.yaml).
|
|
166
|
+
A commented starting point is available at [docs/examples/contextweave-cli.yaml](https://github.com/bot-32142/ContextWeave/blob/master/docs/examples/contextweave-cli.yaml).
|
|
167
167
|
|
|
168
168
|
## What To Know Before Using ContextWeave
|
|
169
169
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
**English** | [中文](README_ZH.md)
|
|
1
|
+
**English** | [中文](https://github.com/bot-32142/ContextWeave/blob/master/README_ZH.md)
|
|
2
2
|
|
|
3
3
|
# ContextWeave
|
|
4
4
|
|
|
@@ -48,19 +48,19 @@ Current desktop builds are unsigned, so the first launch may show an OS security
|
|
|
48
48
|
|
|
49
49
|
This is the home screen for projects. Use `Setup Wizard` for the quickest first-time setup.
|
|
50
50
|
|
|
51
|
-

|
|
51
|
+

|
|
52
52
|
|
|
53
53
|
### 2. Choose providers and paste API keys
|
|
54
54
|
|
|
55
55
|
The wizard collects the providers it needs up front. For most users, `DeepSeek` + `Gemini` is the most practical starting point.
|
|
56
56
|
|
|
57
|
-

|
|
57
|
+

|
|
58
58
|
|
|
59
59
|
### 3. Review the workflow profile
|
|
60
60
|
|
|
61
61
|
The review step shows which connection and model ContextWeave will use for each workflow step.
|
|
62
62
|
|
|
63
|
-

|
|
63
|
+

|
|
64
64
|
|
|
65
65
|
`Quality` spends more for better reasoning and can get very, very expensive unless you are using only `DeepSeek`. `Balanced` is the safest default. `Budget` is the cheapest option when you want to minimize cost.
|
|
66
66
|
|
|
@@ -72,19 +72,19 @@ The review step shows which connection and model ContextWeave will use for each
|
|
|
72
72
|
|
|
73
73
|
Pick a project name, target language, and workflow profile.
|
|
74
74
|
|
|
75
|
-

|
|
75
|
+

|
|
76
76
|
|
|
77
77
|
### 2. Open the project work page
|
|
78
78
|
|
|
79
79
|
Import files in reading order so terminology and context stay consistent across the whole book, then click `Translate and Export` to start. Double-click a file if you want to inspect each step manually or retouch images.
|
|
80
80
|
|
|
81
|
-

|
|
81
|
+

|
|
82
82
|
|
|
83
83
|
### 3. Optional: import existing term translations
|
|
84
84
|
|
|
85
85
|
Open `Terms`, then use `Import Terms` if you already have a terminology list you want ContextWeave to reuse. A simple JSON object like `{"original": "translated"}` is enough.
|
|
86
86
|
|
|
87
|
-

|
|
87
|
+

|
|
88
88
|
|
|
89
89
|
## Demo EPUBs
|
|
90
90
|
|
|
@@ -92,7 +92,7 @@ This sample EPUB was generated with `Translate and Export` directly from the Fre
|
|
|
92
92
|
|
|
93
93
|
Quality can be dramatically better with `Gemini` or `GPT`, but the cost is also significantly higher.
|
|
94
94
|
|
|
95
|
-
- [The Count of Monte Cristo.epub](demo/The%20Count%20of%20Monte%20Cristo.epub) - English output. Cost: under `$2.5`.
|
|
95
|
+
- [The Count of Monte Cristo.epub](https://github.com/bot-32142/ContextWeave/raw/master/demo/The%20Count%20of%20Monte%20Cristo.epub) - English output. Cost: under `$2.5`.
|
|
96
96
|
|
|
97
97
|
## CLI
|
|
98
98
|
|
|
@@ -114,7 +114,7 @@ contextweave-cli books delete BOOK_ID --yes
|
|
|
114
114
|
|
|
115
115
|
The CLI resolves config from `--config`, then `CONTEXTWEAVE_CONFIG`, then the nearest `contextweave.yaml`/`.contextweave.yaml` walking upward, then the platform default shown by `contextweave-cli config path`. The config mirrors the setup UI: `connections` define provider endpoints and `workflow_profiles` route each translation step. Prefer `api_key_env` so API keys stay in environment variables instead of config files or task snapshots. Use `--no-polish` when a one-shot run should skip the polish pass, which can be useful for timing-sensitive subtitle output.
|
|
116
116
|
|
|
117
|
-
A commented starting point is available at [docs/examples/contextweave-cli.yaml](docs/examples/contextweave-cli.yaml).
|
|
117
|
+
A commented starting point is available at [docs/examples/contextweave-cli.yaml](https://github.com/bot-32142/ContextWeave/blob/master/docs/examples/contextweave-cli.yaml).
|
|
118
118
|
|
|
119
119
|
## What To Know Before Using ContextWeave
|
|
120
120
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
**中文** | [English](README.md)
|
|
1
|
+
**中文** | [English](https://github.com/bot-32142/ContextWeave/blob/master/README.md)
|
|
2
2
|
|
|
3
3
|
# 语络译(ContextWeave)
|
|
4
4
|
|
|
@@ -48,19 +48,19 @@
|
|
|
48
48
|
|
|
49
49
|
这里是项目首页。第一次使用时,直接点 `设置向导` 就行。
|
|
50
50
|
|
|
51
|
-

|
|
51
|
+

|
|
52
52
|
|
|
53
53
|
### 2. 选择服务商并填入 API key
|
|
54
54
|
|
|
55
55
|
向导会先收集需要的连接。对大多数用户来说,`DeepSeek` + `Gemini` 是最实用的起点。
|
|
56
56
|
|
|
57
|
-

|
|
57
|
+

|
|
58
58
|
|
|
59
59
|
### 3. 检查工作流配置档案
|
|
60
60
|
|
|
61
61
|
这个步骤会展示每个流程步骤实际会使用哪个连接和模型。
|
|
62
62
|
|
|
63
|
-

|
|
63
|
+

|
|
64
64
|
|
|
65
65
|
`质量优先` 会非常非常贵,除非你只用 `DeepSeek`。`均衡` 适合作为默认选择。`预算优先` 适合优先压低成本。
|
|
66
66
|
|
|
@@ -72,19 +72,19 @@
|
|
|
72
72
|
|
|
73
73
|
填写项目名、目标语言和工作流配置档案。
|
|
74
74
|
|
|
75
|
-

|
|
75
|
+

|
|
76
76
|
|
|
77
77
|
### 2. 打开项目工作页
|
|
78
78
|
|
|
79
79
|
按阅读顺序导入文件,这样术语和上下文才能在整本书里保持一致,然后点击翻译并导出开始翻译。双击文件如果你想手动审查每一步的结果或者修图。
|
|
80
80
|
|
|
81
|
-

|
|
81
|
+

|
|
82
82
|
|
|
83
83
|
### 3. 可选:导入现成术语翻译
|
|
84
84
|
|
|
85
85
|
打开 `术语` 页,如果你已经有术语表,就用 `导入术语` 直接导入。最简单的 JSON 形式就是 `{"original": "translated"}`。
|
|
86
86
|
|
|
87
|
-

|
|
87
|
+

|
|
88
88
|
|
|
89
89
|
## 示例 EPUB
|
|
90
90
|
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
|
|
93
93
|
如果换成 `Gemini` 或 `GPT`,质量通常会明显更好,但成本也会显著上升。
|
|
94
94
|
|
|
95
|
-
- [基督山伯爵.epub](demo
|
|
95
|
+
- [基督山伯爵.epub](https://github.com/bot-32142/ContextWeave/raw/master/demo/%E5%9F%BA%E7%9D%A3%E5%B1%B1%E4%BC%AF%E7%88%B5.epub) - 简体中文版,每本成本不到 `18 元人民币`。
|
|
96
96
|
|
|
97
97
|
## CLI
|
|
98
98
|
|
|
@@ -114,7 +114,7 @@ contextweave-cli books delete BOOK_ID --yes
|
|
|
114
114
|
|
|
115
115
|
CLI 会依次从 `--config`、`CONTEXTWEAVE_CONFIG`、向上查找最近的 `contextweave.yaml`/`.contextweave.yaml`,以及 `contextweave-cli config path` 显示的平台默认路径读取配置。配置结构与设置界面对应:`connections` 定义服务商端点,`workflow_profiles` 决定每个翻译步骤使用哪条模型路线。建议使用 `api_key_env`,让 API key 留在环境变量中,而不是写入配置文件或任务快照。一次性运行需要跳过润色时可使用 `--no-polish`,这对时间轴敏感的字幕输出很有用。
|
|
116
116
|
|
|
117
|
-
带注释的起始配置可参考 [docs/examples/contextweave-cli.yaml](docs/examples/contextweave-cli.yaml)。
|
|
117
|
+
带注释的起始配置可参考 [docs/examples/contextweave-cli.yaml](https://github.com/bot-32142/ContextWeave/blob/master/docs/examples/contextweave-cli.yaml)。
|
|
118
118
|
|
|
119
119
|
## 使用前需要知道
|
|
120
120
|
|
|
@@ -7,7 +7,7 @@ packages = ["context_aware_translation"]
|
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "contextweave"
|
|
10
|
-
version = "0.2.
|
|
10
|
+
version = "0.2.2"
|
|
11
11
|
description = "ContextWeave: context-aware document translation with glossary management"
|
|
12
12
|
readme = "README.md"
|
|
13
13
|
license = "GPL-3.0-only"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/files/__init__.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/files/glossary_io.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/task_engine.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/adapters/qt/workers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/composition.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/common.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/queue.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/terms.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/contracts/work.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/document.py
RENAMED
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/projects.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/queue.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/terms.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/application/services/work.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/context_extractor.py
RENAMED
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/manga_document_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/term_memory_builder.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/core/translation_strategies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/content/AGENTS.md
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/content/__init__.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/content/ocr_content.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/content/ocr_items.py
RENAMED
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_container.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_support/AGENTS.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/epub_xhtml_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/manga_alignment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/documents/scanned_book.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/batch_jobs/AGENTS.md
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/batch_jobs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/batch_jobs/gemini_gateway.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/glossary_translator.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/image_backend_base.py
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/image_backends/AGENTS.md
RENAMED
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/image_backends/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/language_detector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/llm/translation_strategies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/s2t.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{contextweave-0.2.1 → contextweave-0.2.2}/context_aware_translation/resources/opencc/config/t2s.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|