Skip to content

Releases: renan-siqueira/rsazure-openai-toolkit

v0.7.3 — Finalized BuiltInAgent Fallback Behavior (Non-Invasive)

12 Apr 23:11
518d159

Choose a tag to compare

What's Changed

✅ Changed

  • The fallback BuiltInAgent now runs entirely in-memory
  • It no longer creates any prompt folders or files on disk

🔒 Design Note

This ensures the toolkit behaves non-invasively by default:

  • First-run usage (rschat "question") is fully supported without any setup
  • No side effects or file creation occurs unless the user explicitly initiates agent generation

📌 Summary

  • Safe for testing, CI pipelines, or ephemeral CLI calls
  • Consistent with the project's principle of "facilitate without intrusion"

🔎 See CHANGELOG for full details.

v0.7.2 — Built-in Agent Fallback for Quick Start

12 Apr 22:54
8018025

Choose a tag to compare

What's Changed

🧠 Added

  • BuiltInAgent: a fully in-memory fallback agent to allow first-time usage without prompts on disk
  • Used by ConverSession automatically if no prompt path or agent folder is available

🔧 Changed

  • ConverSession now gracefully falls back to built-in prompt and config
  • CLI (rschat) now works out-of-the-box without requiring prompt files or .rsmeta

📌 Notes

  • No breaking changes
  • Ideal for quick onboarding and usage without setup
  • Prompt path remains customizable via .env or argument

🔎 See CHANGELOG for full details.

v0.7.1 — Fix import bug in ConverSession (ModelConfig path)

12 Apr 22:37
0a59a4b

Choose a tag to compare

What's Changed

🐛 Fixed

  • Resolved a ModuleNotFoundError in conversession.py
  • The ModelConfig class is now correctly imported from prompts/model.py

This patch does not introduce any breaking changes or behavioral modifications.
Safe to upgrade for all users running v0.7.0.

v0.7.0 — Conversational Core, Agent System, and Prompt Architecture

12 Apr 22:28
19f8307

Choose a tag to compare

Highlights

🧠 Introduced ConverSession: the new orchestration core for agent-based conversations

  • ✅ New prompt architecture with .rsmeta support and variable injection
  • Agent now centralizes config and prompt behavior
  • 🔄 Refactored the CLI to be just a clean interface on top of the core
  • 🔐 Improved auditability and logging consistency

What's Changed

✅ Added

  • ConverSession: new high-level orchestrator for prompts, models, logging, and context
  • PromptManager with support for versioned .rsmeta files
  • Agent class that loads and validates from config.yaml + prompt files

🔧 Changed

  • Merged prompt model and model config into prompts/model.py
  • Moved all env-related logic to env/config.py
  • Simplified CLI logic (CLI is now purely a front-facing tool)
  • Updated all internal references to new structure

🧹 Removed

  • model_config.py (logic moved to prompts.model)
  • ChatCLI class from CLI

📌 Notes

  • No breaking changes
  • Safe to upgrade
  • PyPI and GitHub now aligned under new versioning

🔎 See the Changelog for full details.

v0.6.4 — CLI Bugfix: Early .env Loading for Environment Variables

12 Apr 14:22
ee9d9d7

Choose a tag to compare

Highlights

🐛 Fixed an issue where environment variables were not loaded correctly from .env when running the rschat CLI

  • load_env() is now executed immediately when the CLI module is loaded
  • 🔐 Ensures environment-based config works even if the user hasn’t exported variables manually

What's Changed

✅ Fixed

  • Bug where CLI would fail with “missing environment variables” even with a valid .env file present

🔧 Changed

  • Moved load_env() to the top of cli.py so it's executed during import
  • Ensures get_cli_config() has access to environment values at instantiation time
  • Updated version metadata to 0.6.4

📌 Notes

  • No new dependencies
  • No breaking changes
  • CLI now works out-of-the-box as expected with .env

🔎 See the Changelog for full details.

v0.6.3 — Internal Refactor: Dedicated Integration Layer + Isolated Testing

08 Apr 15:22
aab48c1

Choose a tag to compare

Highlights

  • 🔁 Refactored core.py into a new dedicated module: core/integration.py
  • ✅ Added isolated unit tests using Python's built-in unittest module (no external test dependencies)
  • 🔒 Internal core logic is now fully encapsulated and no longer exposed to end users

What's Changed

✅ Added

  • core/integration.py as the new explicit Azure OpenAI integration layer
  • Unit test suite under tests/core/test_integration.py, covering client creation and message generation
  • Retry logic, complete OpenAI parameter support, and type-safe internal interface

🔧 Changed

  • Removed public access to low-level core methods (main, generate_response)
  • __init__.py in core/ is now intentionally empty to reinforce private scope

📌 Notes

  • No breaking changes
  • No new dependencies were added
  • Safe to upgrade — all CLI and templates remain compatible

🔎 See the Changelog for full details.

v0.6.2 — Template cleanup and CLI alignment

07 Apr 23:59
a823983

Choose a tag to compare

✨ What's new in v0.6.2

This version focuses on aligning all code generation templates (samples/) with the modern architecture introduced in v0.6.0. It improves consistency, reusability, and maintainability across CLI-style and scripting-style examples.


✅ Updated templates

All four sample templates have been fully updated to:

  • Use the unified import style: import rsazure_openai_toolkit as rschat
  • Replace call_azure_openai_handler with rschat.main(...)
  • Use get_cli_config(), get_model_config(), and get_context_messages() consistently
  • Support context handling and result formatting via ChatResult
  • Leverage get_logger() and structured local logging (JSONL / CSV)
  • Add defensive checks (response.choices) and token estimation fallback
  • Use main() blocks for clean reusability and testing

🔧 Affected templates

  • basic_usage.py.j2
  • chat_loop_usage.py.j2
  • env_usage.py.j2
  • env_chat_loop_usage.py.j2

All templates are now fully aligned with the CLI behavior (rschat) and are production-grade, following the same safety and logging guarantees.


📌 Notes

This is a non-breaking update that improves the quality and clarity of developer-facing samples.

Feel free to regenerate your samples using:

rschat-tools samples

v0.6.1 — Documentation & Interface Refinement

06 Apr 01:07
2c58bd9

Choose a tag to compare

📝 Overview

This release focuses on refining all documentation and public interfaces to fully reflect the modular and production-ready architecture introduced in v0.6.0.

✅ Highlights

  • ✍️ Full rewrite of all docs/ files to align with:

    • rschat as the unified import style (import rsazure_openai_toolkit as rschat)
    • New usage flow via main() and generate_response() instead of legacy call_azure_openai_handler()
    • Context, logging, and config examples using SessionContext, get_model_config(), and InteractionLogger
  • 📖 Updated README.md:

    • Clearer v0.6.0 highlights
    • Link to generated samples/
    • Stronger positioning for developers and production use
  • 🔐 Security policy improvements:

    • Added threat model section
    • Documented attack surface and architecture safeguards
    • Reinforced local-only guarantees for logging and context
  • 🔗 Standardized all documentation links for compatibility across GitHub and PyPI


📦 No core logic or APIs changed — this is a safe upgrade focused on clarity, safety, and onboarding.

v0.6.0 – Modular architecture, CLI refactor, and context improvements

06 Apr 00:13
2a4f64a

Choose a tag to compare

This release introduces a major structural refactor and sets the foundation for a more maintainable and professional toolkit.

🧱 Key Highlights

  • Modular architecture: new package structure under src/rsazure_openai_toolkit/ with clearly scoped modules like core/, cli/, env/, model_config/, session/, utils/, and more.
  • Object-oriented CLI: rschat and rschat-tools now run on dedicated classes (ChatCLI, ToolsCLI) with clearer separation of responsibilities.
  • Unified utilities: all helpers consolidated into a single utils/ module for better reuse and discoverability.
  • Improved model config: ModelConfig and get_model_config() now support reproducible generation with intuitive overrides.
  • SessionContext upgrades: supports full history (.full.jsonl), prompt/config validation, metadata backups, and detailed feedback via CLI.

📦 Other Changes

  • Renamed sample templates (chat_loop_usage.py.j2, etc.) for clarity
  • Enhanced CLI output with token usage, system prompt status, and logging indicators
  • Updated pyproject.toml to reflect the new structure
  • Removed deprecated files: handler.py, integration.py, token_utils.py, and model_config_utils.py

This release prepares the toolkit for more advanced prompt tooling, plugin-style extensions, and cleaner developer experience going forward.

v0.5.2 – Fix .env Reload on CLI Commands

03 Apr 20:38
0466ed6

Choose a tag to compare

This patch release fixes a subtle issue where updated environment variables from .env were not being reflected on subsequent executions of the rschat CLI.


✅ What's Fixed

  • ✅ Environment variables are now loaded with override=True, ensuring fresh values are picked up on every CLI execution
  • ✅ This fix applies to both rschat and all Jinja2 sample templates generated via rschat-tools
  • ✅ Resolves inconsistencies where updated values (e.g., AZURE_DEPLOYMENT_NAME) were ignored without restarting the terminal

🛠️ Notes for Developers

If you previously needed to restart your terminal or Python environment to reflect .env changes, this is no longer necessary.

Simply edit your .env file and rerun rschat — your latest values will now be respected.


📦 Internal Updates

  • Bumped version to 0.5.2
  • Updated pyproject.toml and __init__.py
  • Added changelog entry for clarity and traceability