mirascope 2.0.0a1__tar.gz → 2.0.0a2__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.
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/PKG-INFO +2 -1
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/lint-staged.ts +1 -1
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/tools/decorator.py +10 -10
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/tools/tools.py +2 -2
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/pyproject.toml +2 -1
- mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override/openai_completions_gpt_4o.yaml +171 -0
- mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override/openai_responses_gpt_4o.yaml +170 -0
- mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_completions_gpt_4o.yaml +180 -0
- mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_responses_gpt_4o.yaml +181 -0
- mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override/openai_completions_gpt_4o_snapshots.py +62 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_resume_with_override/openai_responses_gpt_4o_snapshots.py +22 -11
- mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_completions_gpt_4o_snapshots.py +125 -0
- mirascope-2.0.0a2/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_responses_gpt_4o_snapshots.py +136 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/test_resume_with_override.py +3 -24
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/test_resume_with_override_thinking_and_tools.py +3 -3
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/typechecking/tool.py +2 -2
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/uv.lock +1 -1
- mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override/openai_completions_gpt_4o.yaml +0 -213
- mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override/openai_responses_gpt_4o.yaml +0 -210
- mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_context/anthropic_claude_sonnet_4_0.yaml +0 -170
- mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_context/google_gemini_2_5_flash.yaml +0 -168
- mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_context/openai_completions_gpt_4o.yaml +0 -214
- mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_context/openai_responses_gpt_4o.yaml +0 -211
- mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_completions_gpt_4o.yaml +0 -231
- mirascope-2.0.0a1/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/openai_responses_gpt_4o.yaml +0 -228
- mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override/openai_completions_gpt_4o_snapshots.py +0 -51
- mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_completions_gpt_4o_snapshots.py +0 -106
- mirascope-2.0.0a1/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/openai_responses_gpt_4o_snapshots.py +0 -111
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/.coveragerc +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/.env.example +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/.gitignore +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/LICENSE +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/README.md +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/context/decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/context/model.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/decorator/async.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/decorator/async_stream.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/decorator/stream.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/decorator/sync.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/format/decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/format/model.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/model/async.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/model/async_stream.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/model/stream.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/model/sync.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/override/decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/override/model.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/parameters/decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/parameters/model.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/resume/decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/resume/model.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/system_messages/decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/system_messages/model.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/tool_call/decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/intro/tool_call/model.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/misc/anthropic_redacted_thinking.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/misc/openai_responses_reasoning.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_context.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_context_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_stream.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_stream_context.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_stream_context_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_stream_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_stream_tools.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_stream_tools_context.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_stream_tools_context_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_stream_tools_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_tools.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_tools_context.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_tools_context_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_async_tools_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_context.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_context_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_stream.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_stream_context.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_stream_context_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_stream_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_stream_tools.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_stream_tools_context.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_stream_tools_context_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_stream_tools_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_tools.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_tools_context.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_tools_context_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/examples/sazed/sazed_tools_structured.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/graphs/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/graphs/finite_state_machine.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/agents/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/agents/agent.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/agents/agent_template.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/agents/decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/calls/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/calls/base_call.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/calls/calls.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/calls/decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/_missing_import_stubs.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/anthropic/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/anthropic/_utils/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/anthropic/_utils/decode.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/anthropic/_utils/encode.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/anthropic/clients.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/anthropic/model_ids.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/base/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/base/_utils.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/base/client.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/base/kwargs.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/base/params.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/google/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/google/_utils/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/google/_utils/decode.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/google/_utils/encode.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/google/clients.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/google/message.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/google/model_ids.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/completions/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/completions/_utils/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/completions/_utils/decode.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/completions/_utils/encode.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/completions/_utils/model_features.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/completions/clients.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/completions/model_ids.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/responses/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/responses/_utils/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/responses/_utils/decode.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/responses/_utils/encode.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/responses/_utils/model_features.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/responses/clients.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/responses/model_ids.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/shared/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/openai/shared/_utils.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/clients/providers.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/content/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/content/audio.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/content/document.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/content/image.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/content/text.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/content/thought.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/content/tool_call.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/content/tool_output.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/context/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/context/_utils.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/context/context.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/exceptions.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/formatting/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/formatting/_utils.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/formatting/format.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/formatting/from_call_args.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/formatting/partial.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/formatting/types.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/mcp/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/mcp/client.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/messages/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/messages/message.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/models/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/models/models.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/prompts/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/prompts/_utils.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/prompts/decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/prompts/protocols.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/responses/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/responses/_utils.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/responses/base_response.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/responses/base_stream_response.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/responses/finish_reason.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/responses/response.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/responses/root_response.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/responses/stream_response.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/responses/streams.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/tools/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/tools/_utils.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/tools/protocols.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/tools/tool_schema.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/tools/toolkit.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/types/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/types/dataclass.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/types/jsonable.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/mirascope/llm/types/type_vars.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/scripts/example_generator.ts +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/scripts/regenerate_examples.ts +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/scripts/update_openai_completions_model_features.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/scripts/update_openai_responses_model_features.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/conftest.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/README.md +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/assets/audio/tagline.mp3 +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/assets/images/wikipedia.png +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/conftest.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/README.md +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_audio/google_gemini_2_5_flash.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_audio/openai_completions_gpt_audio.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_image_content/anthropic_claude_sonnet_4_0.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_image_content/google_gemini_2_5_flash.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_image_content/openai_completions_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_image_content/openai_responses_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_image_url/anthropic_claude_sonnet_4_0.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_image_url/openai_completions_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_image_url/openai_responses_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_params/anthropic_claude_sonnet_4_0.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_params/google_gemini_2_5_flash.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_params/openai_completions_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_params/openai_responses_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_completions_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_call_with_text_encoded_thoughts/openai_responses_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_resume_with_override/anthropic_claude_sonnet_4_0.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_resume_with_override/google_gemini_2_5_flash.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_completions_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/json/openai_responses_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_completions_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/openai_responses_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_completions_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/strict/openai_responses_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_completions_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/cassettes/test_structured_output_with_formatting_instructions/tool/openai_responses_gpt_4o.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/conftest.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_audio/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_audio/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_audio/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_audio/openai_completions_gpt_audio_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_audio/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_image_content/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_image_content/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_image_content/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_image_content/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_image_url/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_image_url/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_image_url/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_image_url/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_params/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_params/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_params/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_params/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_call_with_text_encoded_thoughts/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_resume_with_override/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_resume_with_override/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_resume_with_override_context/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_resume_with_override_context/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_resume_with_override_context/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_resume_with_override_context/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_resume_with_override_thinking_and_tools/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/json/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/strict/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/snapshots/test_structured_output_with_formatting_instructions/tool/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/test_call_with_audio.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/test_call_with_image.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/test_call_with_params.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/test_call_with_text_encoded_thoughts.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/input/test_structured_output_with_formatting_instructions.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/README.md +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/google_gemini_2_5_flash/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/google_gemini_2_5_flash/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_thinking_true/openai_responses_gpt_5/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/google_gemini_2_5_flash/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_call_with_tools/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/google_gemini_2_5_flash/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_max_tokens/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/google_gemini_2_5_flash/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_refusal/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/google_gemini_2_5_flash/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/google_gemini_2_5_flash/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/json/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/google_gemini_2_5_flash/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/strict/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/google_gemini_2_5_flash/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output/tool/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/google_gemini_2_5_flash/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/json/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/strict/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/google_gemini_2_5_flash/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_completions_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o/async.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o/async_stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o/stream.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/cassettes/test_structured_output_with_tools/tool/openai_responses_gpt_4o/sync.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/conftest.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_call/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_call/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_call/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_call/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_call_with_thinking_true/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_call_with_thinking_true/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_call_with_thinking_true/openai_responses_gpt_5_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_call_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_call_with_tools/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_call_with_tools/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_call_with_tools/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_max_tokens/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_max_tokens/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_max_tokens/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_max_tokens/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_refusal/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_refusal/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_refusal/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_refusal/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/json/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/json/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/json/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/strict/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/strict/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/strict/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/tool/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/tool/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output/tool/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/json/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/json/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/json/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/strict/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/anthropic_claude_sonnet_4_0_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/google_gemini_2_5_flash_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_completions_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/snapshots/test_structured_output_with_tools/tool/openai_responses_gpt_4o_snapshots.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/test_call.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/test_call_with_thinking_true.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/test_call_with_tools.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/test_max_tokens.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/test_refusal.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/test_structured_output.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/e2e/output/test_structured_output_with_tools.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/calls/cassettes/TestCall.test_call_decorator_e2e_model_override.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/calls/cassettes/TestContextCall.test_context_call_decorator_e2e_model_override.yaml +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/calls/test_decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/anthropic/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/anthropic/test_client.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/base/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/base/test_params.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/base/test_utils.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/google/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/google/test_client.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/openai/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/openai/test_completions_client.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/openai/test_responses_client.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/clients/test_providers.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/content/test_audio_content.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/content/test_image_content.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/context/test_context.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/formatting/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/formatting/test_format.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/messages/test_messages.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/models/test_model.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/prompts/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/prompts/test_decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/responses/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/responses/test_response.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/responses/test_stream_response.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/responses/test_utils.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/tools/__init__.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/tools/test_decorator.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/tools/test_tool_schema.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/llm/tools/test_toolkit.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/test_imports.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/tests/utils.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/typechecking/agent.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/typechecking/call.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/typechecking/context.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/typechecking/format.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/typechecking/streams.py +0 -0
- {mirascope-2.0.0a1 → mirascope-2.0.0a2}/typechecking/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mirascope
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.0a2
|
|
4
4
|
Summary: LLM abstractions that aren't obstructions
|
|
5
5
|
Project-URL: Homepage, https://mirascope.com
|
|
6
6
|
Project-URL: Documentation, https://mirascope.com/docs/mirascope/v2
|
|
@@ -40,6 +40,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
40
40
|
Classifier: Programming Language :: Python :: 3.11
|
|
41
41
|
Classifier: Programming Language :: Python :: 3.12
|
|
42
42
|
Classifier: Programming Language :: Python :: 3.13
|
|
43
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
43
44
|
Classifier: Topic :: File Formats :: JSON
|
|
44
45
|
Classifier: Topic :: File Formats :: JSON :: JSON Schema
|
|
45
46
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
@@ -20,14 +20,14 @@ class ToolDecorator:
|
|
|
20
20
|
@overload
|
|
21
21
|
def __call__( # pyright:ignore[reportOverlappingOverload]
|
|
22
22
|
self, fn: ContextToolFn[DepsT, P, JsonableCovariantT]
|
|
23
|
-
) -> ContextTool[DepsT,
|
|
23
|
+
) -> ContextTool[DepsT, JsonableCovariantT, P]:
|
|
24
24
|
"""Call the decorator with a context function."""
|
|
25
25
|
...
|
|
26
26
|
|
|
27
27
|
@overload
|
|
28
28
|
def __call__( # pyright:ignore[reportOverlappingOverload]
|
|
29
29
|
self, fn: AsyncContextToolFn[DepsT, P, JsonableCovariantT]
|
|
30
|
-
) -> AsyncContextTool[DepsT,
|
|
30
|
+
) -> AsyncContextTool[DepsT, JsonableCovariantT, P]:
|
|
31
31
|
"""Call the decorator with an async context function."""
|
|
32
32
|
...
|
|
33
33
|
|
|
@@ -52,8 +52,8 @@ class ToolDecorator:
|
|
|
52
52
|
| ToolFn[P, JsonableCovariantT]
|
|
53
53
|
| AsyncToolFn[P, JsonableCovariantT],
|
|
54
54
|
) -> (
|
|
55
|
-
ContextTool[DepsT,
|
|
56
|
-
| AsyncContextTool[DepsT,
|
|
55
|
+
ContextTool[DepsT, JsonableCovariantT, P]
|
|
56
|
+
| AsyncContextTool[DepsT, JsonableCovariantT, P]
|
|
57
57
|
| Tool[P, JsonableCovariantT]
|
|
58
58
|
| AsyncTool[P, JsonableCovariantT]
|
|
59
59
|
):
|
|
@@ -62,11 +62,11 @@ class ToolDecorator:
|
|
|
62
62
|
is_async = _tool_utils.is_async_tool_fn(fn)
|
|
63
63
|
|
|
64
64
|
if is_context and is_async:
|
|
65
|
-
return AsyncContextTool[DepsT,
|
|
65
|
+
return AsyncContextTool[DepsT, JsonableCovariantT, P](
|
|
66
66
|
fn, strict=self.strict
|
|
67
67
|
)
|
|
68
68
|
elif is_context:
|
|
69
|
-
return ContextTool[DepsT,
|
|
69
|
+
return ContextTool[DepsT, JsonableCovariantT, P](fn, strict=self.strict)
|
|
70
70
|
elif is_async:
|
|
71
71
|
return AsyncTool[P, JsonableCovariantT](fn, strict=self.strict)
|
|
72
72
|
else:
|
|
@@ -76,7 +76,7 @@ class ToolDecorator:
|
|
|
76
76
|
@overload
|
|
77
77
|
def tool( # pyright:ignore[reportOverlappingOverload]
|
|
78
78
|
__fn: AsyncContextToolFn[DepsT, P, JsonableCovariantT],
|
|
79
|
-
) -> AsyncContextTool[DepsT,
|
|
79
|
+
) -> AsyncContextTool[DepsT, JsonableCovariantT, P]:
|
|
80
80
|
"""Overload for async context tool functions."""
|
|
81
81
|
...
|
|
82
82
|
|
|
@@ -84,7 +84,7 @@ def tool( # pyright:ignore[reportOverlappingOverload]
|
|
|
84
84
|
@overload
|
|
85
85
|
def tool( # pyright:ignore[reportOverlappingOverload]
|
|
86
86
|
__fn: ContextToolFn[DepsT, P, JsonableCovariantT],
|
|
87
|
-
) -> ContextTool[DepsT,
|
|
87
|
+
) -> ContextTool[DepsT, JsonableCovariantT, P]:
|
|
88
88
|
"""Overload for context tool functions."""
|
|
89
89
|
...
|
|
90
90
|
|
|
@@ -116,8 +116,8 @@ def tool(
|
|
|
116
116
|
*,
|
|
117
117
|
strict: bool = False,
|
|
118
118
|
) -> (
|
|
119
|
-
ContextTool[DepsT,
|
|
120
|
-
| AsyncContextTool[DepsT,
|
|
119
|
+
ContextTool[DepsT, JsonableCovariantT, P]
|
|
120
|
+
| AsyncContextTool[DepsT, JsonableCovariantT, P]
|
|
121
121
|
| Tool[P, JsonableCovariantT]
|
|
122
122
|
| AsyncTool[P, JsonableCovariantT]
|
|
123
123
|
| ToolDecorator
|
|
@@ -89,7 +89,7 @@ class AsyncTool(
|
|
|
89
89
|
|
|
90
90
|
class ContextTool(
|
|
91
91
|
ToolSchema[ContextToolFn[DepsT, AnyP, JsonableCovariantT]],
|
|
92
|
-
Generic[DepsT,
|
|
92
|
+
Generic[DepsT, JsonableCovariantT, AnyP],
|
|
93
93
|
):
|
|
94
94
|
"""Protocol defining a tool that can be used by LLMs.
|
|
95
95
|
|
|
@@ -130,7 +130,7 @@ class ContextTool(
|
|
|
130
130
|
|
|
131
131
|
class AsyncContextTool(
|
|
132
132
|
ToolSchema[AsyncContextToolFn[DepsT, AnyP, JsonableCovariantT]],
|
|
133
|
-
Generic[DepsT,
|
|
133
|
+
Generic[DepsT, JsonableCovariantT, AnyP],
|
|
134
134
|
):
|
|
135
135
|
"""Protocol defining an async tool that can be used by LLMs with context.
|
|
136
136
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mirascope"
|
|
3
|
-
version = "2.0.0-alpha.
|
|
3
|
+
version = "2.0.0-alpha.2"
|
|
4
4
|
description = "LLM abstractions that aren't obstructions"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { file = "LICENSE" }
|
|
@@ -30,6 +30,7 @@ classifiers = [
|
|
|
30
30
|
"Programming Language :: Python :: 3.11",
|
|
31
31
|
"Programming Language :: Python :: 3.12",
|
|
32
32
|
"Programming Language :: Python :: 3.13",
|
|
33
|
+
"Programming Language :: Python :: 3.14",
|
|
33
34
|
"Topic :: File Formats :: JSON",
|
|
34
35
|
"Topic :: File Formats :: JSON :: JSON Schema",
|
|
35
36
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override/openai_completions_gpt_4o.yaml
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
interactions:
|
|
2
|
+
- request:
|
|
3
|
+
body: '{"contents": [{"parts": [{"text": "Who created you?"}], "role": "user"}]}'
|
|
4
|
+
headers:
|
|
5
|
+
accept:
|
|
6
|
+
- '*/*'
|
|
7
|
+
accept-encoding:
|
|
8
|
+
- gzip, deflate
|
|
9
|
+
connection:
|
|
10
|
+
- keep-alive
|
|
11
|
+
content-length:
|
|
12
|
+
- '73'
|
|
13
|
+
content-type:
|
|
14
|
+
- application/json
|
|
15
|
+
host:
|
|
16
|
+
- generativelanguage.googleapis.com
|
|
17
|
+
user-agent:
|
|
18
|
+
- google-genai-sdk/1.48.0 gl-python/3.10.16
|
|
19
|
+
x-goog-api-client:
|
|
20
|
+
- google-genai-sdk/1.48.0 gl-python/3.10.16
|
|
21
|
+
method: POST
|
|
22
|
+
uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
|
|
23
|
+
response:
|
|
24
|
+
body:
|
|
25
|
+
string: !!binary |
|
|
26
|
+
H4sIAAAAAAAC/2WRTU/DMAyG7/0VUc7bxAZDG1e+tMNgQAWbEEKGem1EGleJK3Wa9t9J23XLIIfI
|
|
27
|
+
8uu8tp9sIyHkN5hEJcDo5JV49xkhts1da2QYDXuhS/lkAZaPte3ZBrEvYazqR3ImIBcgNNgU/W3S
|
|
28
|
+
EnyQU4K6J9iCMpiIr424J0o1DmTgsjvEH71jb0saa+PGoivfdQVyrYxy2TOCI1OXvcSPC3lQlUmw
|
|
29
|
+
8umzqGvQWMvS+anmyOApwGFXWVjKC47pB801lQ2FcesVMDuRh8O9zsSg/0ij3j9bd+ObKh3CDDj7
|
|
30
|
+
HUEr3tSLxLfLWAYc+GSqjkMU4JKcUZlmfDrh9DLa82oRvqJ1qmWVYu7p9UeDcX+twWVNO2nRFWQc
|
|
31
|
+
zpLmP6v5G6yW6m5qV9XDZHFOm8/J04WMdtEvUaBif0wCAAA=
|
|
32
|
+
headers:
|
|
33
|
+
Alt-Svc:
|
|
34
|
+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
35
|
+
Content-Encoding:
|
|
36
|
+
- gzip
|
|
37
|
+
Content-Type:
|
|
38
|
+
- application/json; charset=UTF-8
|
|
39
|
+
Date:
|
|
40
|
+
- Thu, 13 Nov 2025 17:19:31 GMT
|
|
41
|
+
Server:
|
|
42
|
+
- scaffolding on HTTPServer2
|
|
43
|
+
Server-Timing:
|
|
44
|
+
- gfet4t7; dur=1140
|
|
45
|
+
Transfer-Encoding:
|
|
46
|
+
- chunked
|
|
47
|
+
Vary:
|
|
48
|
+
- Origin
|
|
49
|
+
- X-Origin
|
|
50
|
+
- Referer
|
|
51
|
+
X-Content-Type-Options:
|
|
52
|
+
- nosniff
|
|
53
|
+
X-Frame-Options:
|
|
54
|
+
- SAMEORIGIN
|
|
55
|
+
X-XSS-Protection:
|
|
56
|
+
- '0'
|
|
57
|
+
status:
|
|
58
|
+
code: 200
|
|
59
|
+
message: OK
|
|
60
|
+
- request:
|
|
61
|
+
body: '{"messages":[{"role":"user","content":"Who created you?"},{"role":"assistant","content":"I
|
|
62
|
+
am a large language model, trained by Google."},{"role":"user","content":"Can
|
|
63
|
+
you double-check that?"}],"model":"gpt-4o"}'
|
|
64
|
+
headers:
|
|
65
|
+
accept:
|
|
66
|
+
- application/json
|
|
67
|
+
accept-encoding:
|
|
68
|
+
- gzip, deflate
|
|
69
|
+
connection:
|
|
70
|
+
- keep-alive
|
|
71
|
+
content-length:
|
|
72
|
+
- '212'
|
|
73
|
+
content-type:
|
|
74
|
+
- application/json
|
|
75
|
+
host:
|
|
76
|
+
- api.openai.com
|
|
77
|
+
user-agent:
|
|
78
|
+
- OpenAI/Python 2.7.1
|
|
79
|
+
x-stainless-arch:
|
|
80
|
+
- arm64
|
|
81
|
+
x-stainless-async:
|
|
82
|
+
- 'false'
|
|
83
|
+
x-stainless-lang:
|
|
84
|
+
- python
|
|
85
|
+
x-stainless-os:
|
|
86
|
+
- MacOS
|
|
87
|
+
x-stainless-package-version:
|
|
88
|
+
- 2.7.1
|
|
89
|
+
x-stainless-read-timeout:
|
|
90
|
+
- '600'
|
|
91
|
+
x-stainless-retry-count:
|
|
92
|
+
- '0'
|
|
93
|
+
x-stainless-runtime:
|
|
94
|
+
- CPython
|
|
95
|
+
x-stainless-runtime-version:
|
|
96
|
+
- 3.10.16
|
|
97
|
+
method: POST
|
|
98
|
+
uri: https://api.openai.com/v1/chat/completions
|
|
99
|
+
response:
|
|
100
|
+
body:
|
|
101
|
+
string: !!binary |
|
|
102
|
+
H4sIAAAAAAAAA4xSy27bMBC86ysWvPRiGfI78C0oisRAgfZQtIciEFbkSmZCcRmScpsE/veC8kNO
|
|
103
|
+
mgK98LCzM5zZ3ZcMQGgl1iDkFqNsnck/Vt9v7PU03OvwSHj760exeuyk3E1uP396FqPE4OqeZDyx
|
|
104
|
+
xpJbZyhqtgdYesJISXWyWs6KxXy2mvVAy4pMojUu5nPOp8V0nhdXebE8EresJQWxhp8ZAMBL/yaL
|
|
105
|
+
VtFvsYZidKq0FAI2JNbnJgDh2aSKwBB0iGijGA2gZBvJ9q43gI4NN/qZoGYPcUvQJsYDjWED2ALK
|
|
106
|
+
2KExT1BhIAVs4Ysje735EODm67d8Bn2U8bEKinZk2JECtAqiR21JQUvjSwOe6i5gym87Yy4AtJYj
|
|
107
|
+
pvn10e+OyP4c1nDjPFfhDVXU2uqwLT1hYJuChchO9Og+A7jrh9q9mpNwnlsXy8gP1H83Wx7kxLDF
|
|
108
|
+
AZyewMgRzVBfTkfvqJWKImoTLpYiJMotqYE5bBA7pfkCyC4y/23mPe1Dbm2b/5EfACnJRVKl86S0
|
|
109
|
+
fB14aPOUbvxfbecZ94ZFIL/Tksqoyac9KKqxM4fzE+EpRGrLWtuGvPP6cIO1K2VVT1ZXi8VyJbJ9
|
|
110
|
+
9gcAAP//AwD0RZuujAMAAA==
|
|
111
|
+
headers:
|
|
112
|
+
CF-RAY:
|
|
113
|
+
- 99dfef3ed855eb46-CPH
|
|
114
|
+
Connection:
|
|
115
|
+
- keep-alive
|
|
116
|
+
Content-Encoding:
|
|
117
|
+
- gzip
|
|
118
|
+
Content-Type:
|
|
119
|
+
- application/json
|
|
120
|
+
Date:
|
|
121
|
+
- Thu, 13 Nov 2025 17:19:34 GMT
|
|
122
|
+
Server:
|
|
123
|
+
- cloudflare
|
|
124
|
+
Set-Cookie:
|
|
125
|
+
- __cf_bm=V.j2n2.Efs.WJWDUcckP1oFo_YB3JagtJau.2tp5eNs-1763054374-1.0.1.1-Yp.qaC8nckYdRJmYO5z64zoFoqxN73QUczLwhebhfz49qqaKabq4AKu3tIQTR9NGO6rVhv6nb9TozOGjCAPHv9ztrF4UBTr_uN0MVIK2kEI;
|
|
126
|
+
path=/; expires=Thu, 13-Nov-25 17:49:34 GMT; domain=.api.openai.com; HttpOnly;
|
|
127
|
+
Secure; SameSite=None
|
|
128
|
+
- _cfuvid=D3eo_bKWTApiKdN7ZVDHMsICGTLxD5HgKXpTkTH5.hE-1763054374031-0.0.1.1-604800000;
|
|
129
|
+
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
|
|
130
|
+
Strict-Transport-Security:
|
|
131
|
+
- max-age=31536000; includeSubDomains; preload
|
|
132
|
+
Transfer-Encoding:
|
|
133
|
+
- chunked
|
|
134
|
+
X-Content-Type-Options:
|
|
135
|
+
- nosniff
|
|
136
|
+
access-control-expose-headers:
|
|
137
|
+
- X-Request-ID
|
|
138
|
+
alt-svc:
|
|
139
|
+
- h3=":443"; ma=86400
|
|
140
|
+
cf-cache-status:
|
|
141
|
+
- DYNAMIC
|
|
142
|
+
openai-organization:
|
|
143
|
+
- sotai-i3ryiz
|
|
144
|
+
openai-processing-ms:
|
|
145
|
+
- '878'
|
|
146
|
+
openai-project:
|
|
147
|
+
- proj_2kPLXdwNOjkHt3ifb0aZ4FwU
|
|
148
|
+
openai-version:
|
|
149
|
+
- '2020-10-01'
|
|
150
|
+
x-envoy-upstream-service-time:
|
|
151
|
+
- '1140'
|
|
152
|
+
x-openai-proxy-wasm:
|
|
153
|
+
- v0.1
|
|
154
|
+
x-ratelimit-limit-requests:
|
|
155
|
+
- '5000'
|
|
156
|
+
x-ratelimit-limit-tokens:
|
|
157
|
+
- '800000'
|
|
158
|
+
x-ratelimit-remaining-requests:
|
|
159
|
+
- '4999'
|
|
160
|
+
x-ratelimit-remaining-tokens:
|
|
161
|
+
- '799973'
|
|
162
|
+
x-ratelimit-reset-requests:
|
|
163
|
+
- 12ms
|
|
164
|
+
x-ratelimit-reset-tokens:
|
|
165
|
+
- 2ms
|
|
166
|
+
x-request-id:
|
|
167
|
+
- req_2682e45949f54774abd47f42473db9b6
|
|
168
|
+
status:
|
|
169
|
+
code: 200
|
|
170
|
+
message: OK
|
|
171
|
+
version: 1
|
mirascope-2.0.0a2/tests/e2e/input/cassettes/test_resume_with_override/openai_responses_gpt_4o.yaml
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
interactions:
|
|
2
|
+
- request:
|
|
3
|
+
body: '{"contents": [{"parts": [{"text": "Who created you?"}], "role": "user"}]}'
|
|
4
|
+
headers:
|
|
5
|
+
accept:
|
|
6
|
+
- '*/*'
|
|
7
|
+
accept-encoding:
|
|
8
|
+
- gzip, deflate
|
|
9
|
+
connection:
|
|
10
|
+
- keep-alive
|
|
11
|
+
content-length:
|
|
12
|
+
- '73'
|
|
13
|
+
content-type:
|
|
14
|
+
- application/json
|
|
15
|
+
host:
|
|
16
|
+
- generativelanguage.googleapis.com
|
|
17
|
+
user-agent:
|
|
18
|
+
- google-genai-sdk/1.48.0 gl-python/3.10.16
|
|
19
|
+
x-goog-api-client:
|
|
20
|
+
- google-genai-sdk/1.48.0 gl-python/3.10.16
|
|
21
|
+
method: POST
|
|
22
|
+
uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
|
|
23
|
+
response:
|
|
24
|
+
body:
|
|
25
|
+
string: !!binary |
|
|
26
|
+
H4sIAAAAAAAC/2WQ0U/CMBDG3/dXNH0eBDAkxlc0BhIi6CIq8eG0x9asa5f2ZkDC/263MSi4h+Zy
|
|
27
|
+
37fv7n77iDH+DVpIAYSO37G17zC2b95aM5pQkxe6lm+WYOnsbb99UHsL4bb+iU8ZFAyYApuif3Va
|
|
28
|
+
gS8KI1DFjCxIjYJ97dijManCPg9SDqf6Mz7PtkZhHdxEdPZDZ+AbqaXLnhGc0bXtJXla8JMqtcCt
|
|
29
|
+
bw+ibkATzSvnt5ojgacAp1t5aU1RUmJy1BNTNRTGbVbA7EIeDo86GQJ1Jd3G/2LdvR8qVQgz4Oxv
|
|
30
|
+
BCVpVx+SPLwlPOBAF1t1HKIAF6fMVGlGVxsORtERWMvwFa2TLawUC4+vN+qPexsFLmvmcYuuNNrh
|
|
31
|
+
VNSe2Xa+gveb1czs5I+YLvKP30m+XPLoEP0BOVRK+E0CAAA=
|
|
32
|
+
headers:
|
|
33
|
+
Alt-Svc:
|
|
34
|
+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
35
|
+
Content-Encoding:
|
|
36
|
+
- gzip
|
|
37
|
+
Content-Type:
|
|
38
|
+
- application/json; charset=UTF-8
|
|
39
|
+
Date:
|
|
40
|
+
- Thu, 13 Nov 2025 17:19:35 GMT
|
|
41
|
+
Server:
|
|
42
|
+
- scaffolding on HTTPServer2
|
|
43
|
+
Server-Timing:
|
|
44
|
+
- gfet4t7; dur=1492
|
|
45
|
+
Transfer-Encoding:
|
|
46
|
+
- chunked
|
|
47
|
+
Vary:
|
|
48
|
+
- Origin
|
|
49
|
+
- X-Origin
|
|
50
|
+
- Referer
|
|
51
|
+
X-Content-Type-Options:
|
|
52
|
+
- nosniff
|
|
53
|
+
X-Frame-Options:
|
|
54
|
+
- SAMEORIGIN
|
|
55
|
+
X-XSS-Protection:
|
|
56
|
+
- '0'
|
|
57
|
+
status:
|
|
58
|
+
code: 200
|
|
59
|
+
message: OK
|
|
60
|
+
- request:
|
|
61
|
+
body: '{"input":[{"content":"Who created you?","role":"user"},{"content":"I am
|
|
62
|
+
a large language model, trained by Google.","role":"assistant"},{"content":"Can
|
|
63
|
+
you double-check that?","role":"user"}],"model":"gpt-4o"}'
|
|
64
|
+
headers:
|
|
65
|
+
accept:
|
|
66
|
+
- application/json
|
|
67
|
+
accept-encoding:
|
|
68
|
+
- gzip, deflate
|
|
69
|
+
connection:
|
|
70
|
+
- keep-alive
|
|
71
|
+
content-length:
|
|
72
|
+
- '209'
|
|
73
|
+
content-type:
|
|
74
|
+
- application/json
|
|
75
|
+
host:
|
|
76
|
+
- api.openai.com
|
|
77
|
+
user-agent:
|
|
78
|
+
- OpenAI/Python 2.7.1
|
|
79
|
+
x-stainless-arch:
|
|
80
|
+
- arm64
|
|
81
|
+
x-stainless-async:
|
|
82
|
+
- 'false'
|
|
83
|
+
x-stainless-lang:
|
|
84
|
+
- python
|
|
85
|
+
x-stainless-os:
|
|
86
|
+
- MacOS
|
|
87
|
+
x-stainless-package-version:
|
|
88
|
+
- 2.7.1
|
|
89
|
+
x-stainless-read-timeout:
|
|
90
|
+
- '600'
|
|
91
|
+
x-stainless-retry-count:
|
|
92
|
+
- '0'
|
|
93
|
+
x-stainless-runtime:
|
|
94
|
+
- CPython
|
|
95
|
+
x-stainless-runtime-version:
|
|
96
|
+
- 3.10.16
|
|
97
|
+
method: POST
|
|
98
|
+
uri: https://api.openai.com/v1/responses
|
|
99
|
+
response:
|
|
100
|
+
body:
|
|
101
|
+
string: !!binary |
|
|
102
|
+
H4sIAAAAAAAAA3RUwW7bMAy95ysEnZvCTlInzm3HnnYeisGgZTrVKouCRGUNiv77YDl27LW5JXzU
|
|
103
|
+
M/nekz5WQkjdyKOQHoOrsrrFwy4rGrVVAE2ZZUWZF/l2c0AoDoe83NabPKsVFvW+qTd5A/Khp6D6
|
|
104
|
+
DyoeacgGHOrKIzA2FfRYvi+22dNuuy8SFhg4hv6Mos4ZZGyGQzWot5OnaPu5WjABh7I2RtuTPIqP
|
|
105
|
+
lRBCSAcX9P35Bs9oyKGXKyE+UzN6Tz1mozGpoO34lapBBm3CEg3so2JNdlHv4L2iyC5yxfSGX0Em
|
|
106
|
+
MpUCs6TrqEHTT3ZyvN7RepNtduvssM6Kq1yJUh7FS9pk2Gdyogun+0aAavOsN6Is8xLKvCye9vt2
|
|
107
|
+
W+wTc2Lhi8PEgyHACW/APcUTqMgy2ttQ88EWtKMe+M7T6dQA1hLDqOHL7wVo6OQ81d8giego5C8M
|
|
108
|
+
D+JZKLBCkW217wS/Aotn8ReCGD1uRH0RPx3aH8+PcqL5vP6amKUnk6aFEHRgsDw0942pSTrwYAya
|
|
109
|
+
pYXs45A25/GsKYZqDHSVzJksdp46x5UC9YrVG17uYh57WTXZeYdHCGQXaca2Jc+zpt6w2HXgR+4p
|
|
110
|
+
3AFa5Eulm5641bgIekB/1gor1uPlaCGawSoZmDzO12TsHHrgmMr5Y3atJkuuk7XkO7j9n0Uh9Q26
|
|
111
|
+
Xic+o68paL4MAWx07G6XclD6lbQarIlMcgJuyZBMrprlJZuKbj6jj1bBVVjZ6AC1GV+QmHI/LaDt
|
|
112
|
+
4gJvi4ev9dmrMK2ZDGxuB7PFqv+/C/nuO+A73sn9e9RMDOYGPmWThDEs3e6QoQGGnv5z9fkPAAD/
|
|
113
|
+
/wMAYLhtqNAFAAA=
|
|
114
|
+
headers:
|
|
115
|
+
CF-RAY:
|
|
116
|
+
- 99dfef5aad0992c7-CPH
|
|
117
|
+
Connection:
|
|
118
|
+
- keep-alive
|
|
119
|
+
Content-Encoding:
|
|
120
|
+
- gzip
|
|
121
|
+
Content-Type:
|
|
122
|
+
- application/json
|
|
123
|
+
Date:
|
|
124
|
+
- Thu, 13 Nov 2025 17:19:39 GMT
|
|
125
|
+
Server:
|
|
126
|
+
- cloudflare
|
|
127
|
+
Set-Cookie:
|
|
128
|
+
- __cf_bm=fMyvz.J3uQ2.mFqU9Kg.VQZdsbH8TbpuG7yPX_xC.f8-1763054379-1.0.1.1-p6Cv_CXW0OcGhXaq6F6YEcLMUra4OcuQ9klABb6Frxrg9O_Kl9C1tRwLTMxbSarlWxXxP5AhfCVz7oEiexBO0txNEOx8SuGCYivM74Tq8E8;
|
|
129
|
+
path=/; expires=Thu, 13-Nov-25 17:49:39 GMT; domain=.api.openai.com; HttpOnly;
|
|
130
|
+
Secure; SameSite=None
|
|
131
|
+
- _cfuvid=yFG2MXV4ltJVtqSS9OYKAYNp1tzxv2.QvtXwfZOdxM8-1763054379747-0.0.1.1-604800000;
|
|
132
|
+
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
|
|
133
|
+
Strict-Transport-Security:
|
|
134
|
+
- max-age=31536000; includeSubDomains; preload
|
|
135
|
+
Transfer-Encoding:
|
|
136
|
+
- chunked
|
|
137
|
+
X-Content-Type-Options:
|
|
138
|
+
- nosniff
|
|
139
|
+
alt-svc:
|
|
140
|
+
- h3=":443"; ma=86400
|
|
141
|
+
cf-cache-status:
|
|
142
|
+
- DYNAMIC
|
|
143
|
+
openai-organization:
|
|
144
|
+
- sotai-i3ryiz
|
|
145
|
+
openai-processing-ms:
|
|
146
|
+
- '2765'
|
|
147
|
+
openai-project:
|
|
148
|
+
- proj_2kPLXdwNOjkHt3ifb0aZ4FwU
|
|
149
|
+
openai-version:
|
|
150
|
+
- '2020-10-01'
|
|
151
|
+
x-envoy-upstream-service-time:
|
|
152
|
+
- '2771'
|
|
153
|
+
x-ratelimit-limit-requests:
|
|
154
|
+
- '5000'
|
|
155
|
+
x-ratelimit-limit-tokens:
|
|
156
|
+
- '800000'
|
|
157
|
+
x-ratelimit-remaining-requests:
|
|
158
|
+
- '4999'
|
|
159
|
+
x-ratelimit-remaining-tokens:
|
|
160
|
+
- '799945'
|
|
161
|
+
x-ratelimit-reset-requests:
|
|
162
|
+
- 12ms
|
|
163
|
+
x-ratelimit-reset-tokens:
|
|
164
|
+
- 4ms
|
|
165
|
+
x-request-id:
|
|
166
|
+
- req_26be738cc641432b9b058d8263c18298
|
|
167
|
+
status:
|
|
168
|
+
code: 200
|
|
169
|
+
message: OK
|
|
170
|
+
version: 1
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
interactions:
|
|
2
|
+
- request:
|
|
3
|
+
body: '{"contents": [{"parts": [{"text": "What is the 100th fibonacci number?"}],
|
|
4
|
+
"role": "user"}], "tools": [{"functionDeclarations": [{"description": "Compute
|
|
5
|
+
the nth Fibonacci number (1-indexed).", "name": "compute_fib", "parameters":
|
|
6
|
+
{"properties": {"n": {"title": "N", "type": "INTEGER"}}, "required": ["n"],
|
|
7
|
+
"type": "OBJECT"}}]}], "generationConfig": {"thinkingConfig": {"include_thoughts":
|
|
8
|
+
true, "thinking_budget": -1}}}'
|
|
9
|
+
headers:
|
|
10
|
+
accept:
|
|
11
|
+
- '*/*'
|
|
12
|
+
accept-encoding:
|
|
13
|
+
- gzip, deflate
|
|
14
|
+
connection:
|
|
15
|
+
- keep-alive
|
|
16
|
+
content-length:
|
|
17
|
+
- '420'
|
|
18
|
+
content-type:
|
|
19
|
+
- application/json
|
|
20
|
+
host:
|
|
21
|
+
- generativelanguage.googleapis.com
|
|
22
|
+
user-agent:
|
|
23
|
+
- google-genai-sdk/1.48.0 gl-python/3.10.16
|
|
24
|
+
x-goog-api-client:
|
|
25
|
+
- google-genai-sdk/1.48.0 gl-python/3.10.16
|
|
26
|
+
method: POST
|
|
27
|
+
uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
|
|
28
|
+
response:
|
|
29
|
+
body:
|
|
30
|
+
string: !!binary |
|
|
31
|
+
H4sIAAAAAAAC/3VUXVfiSBB951f05mV3FRnAoLDnzINAEI4ERL5d94xNUklaOt2Y7oDE43/fShAH
|
|
32
|
+
HIeHHLq+7q1bXf2aI8RwqHCZSzUo4x/yL1oIec2+qU8KDUKjY29C44pG+mfs7vd68B9DNLykScbJ
|
|
33
|
+
SRf0n4o0KHdijhhkFFBNWmwhBXUcRnpxuIDoj5OTB/Eg+ku6zRMliQ6AxAoisqFCq+xYKhZ1cJAo
|
|
34
|
+
ssQ82QTMCQhTZBWB1luidESZH2hPRhsauQXSISwMwWUIzrckAkf6giWARZHIowsejbn+QVes4Mhw
|
|
35
|
+
FWv44bHFY1oxhdVScoK1ssOTXBQI6UkiAFx0YTUm1qhP5t0EADyPeCgoeYqVJhzWEFH/HQtemNJM
|
|
36
|
+
+MSLhaMZ9sGZ3hZQEcCeeZyaUljFwhUyxfIO5XyXu08hG4YqpGhMIFeCo6AhaFTqUTwSBTpNQ6mQ
|
|
37
|
+
puV5zGEpOZwvcRl2rsnZrpwKZMzRuFNaR8xZFh6Ekf80RIxCJXGOOorhwPeW//3k90xx4vzo2rz7
|
|
38
|
+
BfJNb8aB2J9wMYhGvvoiOU1HM/b3yfF2dH77uo8h8wXVcZTBN+JO/cptaxZWm2NP0MumJbrTWtMd
|
|
39
|
+
PFeF6S4sGRRbi9O6VUqKY9ccyPXYvYN+f9a8Op17q9KkPgsnV6Wg70/H7nxg94XZKar1/Q20zpPO
|
|
40
|
+
+aw9lD4vx7YZsLrseaPuyKzGl0O/EveqkfV0MbKvepw1W+3hbHBNk5mqXlZ63ZllbmfPT53pdFTS
|
|
41
|
+
y1HYmkD19u7Cvh7WnptqOqa3tZub6WDu9Lu2qkpveWG1zKlX3zTccck2zTmHZEDLp5Nt0a37QvRF
|
|
42
|
+
DWhyNZDn9TIM6yzmgk6Sa6t2ugic0sVLYi3mxa5jOZOb9XxdAbvWngYXfF39Ft/3Gsm3nii1gq0/
|
|
43
|
+
g/DO//7dyH2l+H8/1TYiyTN1Q+kC34d/jMPwmGAquAOqZDpHYzjq334M32DChRc0Fz/F26AULlGa
|
|
44
|
+
YKd1iQ8C10rjCn6sRbopf6m/CzvMlFxGy4jTTBs0xfeNftwoYxXh7dMjuQTRkHH2vlUqO9iD5/DI
|
|
45
|
+
X7p892upKT92lc38L3VVE1EZP3wnD55QFCjb/rSpkTUbHawAAhzR2quYOxB7f6WPKVbKuXe1dwOY
|
|
46
|
+
QKTYTmkfQtTyrFyonHmcqiDDMyJQKykUdNw0pntnT+l9s9dx+slLr3obOO2GOVBG7i33P2dzlK0o
|
|
47
|
+
BgAA
|
|
48
|
+
headers:
|
|
49
|
+
Alt-Svc:
|
|
50
|
+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
|
|
51
|
+
Content-Encoding:
|
|
52
|
+
- gzip
|
|
53
|
+
Content-Type:
|
|
54
|
+
- application/json; charset=UTF-8
|
|
55
|
+
Date:
|
|
56
|
+
- Thu, 13 Nov 2025 17:19:41 GMT
|
|
57
|
+
Server:
|
|
58
|
+
- scaffolding on HTTPServer2
|
|
59
|
+
Server-Timing:
|
|
60
|
+
- gfet4t7; dur=1787
|
|
61
|
+
Transfer-Encoding:
|
|
62
|
+
- chunked
|
|
63
|
+
Vary:
|
|
64
|
+
- Origin
|
|
65
|
+
- X-Origin
|
|
66
|
+
- Referer
|
|
67
|
+
X-Content-Type-Options:
|
|
68
|
+
- nosniff
|
|
69
|
+
X-Frame-Options:
|
|
70
|
+
- SAMEORIGIN
|
|
71
|
+
X-XSS-Protection:
|
|
72
|
+
- '0'
|
|
73
|
+
status:
|
|
74
|
+
code: 200
|
|
75
|
+
message: OK
|
|
76
|
+
- request:
|
|
77
|
+
body: '{"messages":[{"role":"user","content":"What is the 100th fibonacci number?"},{"role":"assistant","content":null,"tool_calls":[{"id":"google_unknown_tool_id","type":"function","function":{"name":"compute_fib","arguments":"{\"n\":
|
|
78
|
+
100}"}}]},{"role":"tool","content":"218922995834555169026","tool_call_id":"google_unknown_tool_id"}],"model":"gpt-4o","tools":[{"type":"function","function":{"name":"compute_fib","description":"Compute
|
|
79
|
+
the nth Fibonacci number (1-indexed).","parameters":{"properties":{"n":{"title":"N","type":"integer"}},"required":["n"],"additionalProperties":false,"type":"object"},"strict":false}}]}'
|
|
80
|
+
headers:
|
|
81
|
+
accept:
|
|
82
|
+
- application/json
|
|
83
|
+
accept-encoding:
|
|
84
|
+
- gzip, deflate
|
|
85
|
+
connection:
|
|
86
|
+
- keep-alive
|
|
87
|
+
content-length:
|
|
88
|
+
- '615'
|
|
89
|
+
content-type:
|
|
90
|
+
- application/json
|
|
91
|
+
host:
|
|
92
|
+
- api.openai.com
|
|
93
|
+
user-agent:
|
|
94
|
+
- OpenAI/Python 2.7.1
|
|
95
|
+
x-stainless-arch:
|
|
96
|
+
- arm64
|
|
97
|
+
x-stainless-async:
|
|
98
|
+
- 'false'
|
|
99
|
+
x-stainless-lang:
|
|
100
|
+
- python
|
|
101
|
+
x-stainless-os:
|
|
102
|
+
- MacOS
|
|
103
|
+
x-stainless-package-version:
|
|
104
|
+
- 2.7.1
|
|
105
|
+
x-stainless-read-timeout:
|
|
106
|
+
- '600'
|
|
107
|
+
x-stainless-retry-count:
|
|
108
|
+
- '0'
|
|
109
|
+
x-stainless-runtime:
|
|
110
|
+
- CPython
|
|
111
|
+
x-stainless-runtime-version:
|
|
112
|
+
- 3.10.16
|
|
113
|
+
method: POST
|
|
114
|
+
uri: https://api.openai.com/v1/chat/completions
|
|
115
|
+
response:
|
|
116
|
+
body:
|
|
117
|
+
string: !!binary |
|
|
118
|
+
H4sIAAAAAAAAA4xSTW/dIBC8+1cgzjjy97PfMZHSY3uoUqlVZGFY2yQYEOCkVfT+e4X98uykqZQL
|
|
119
|
+
h52dYWZ3XyKEsOD4iDAbqWeTkfFNd/fl+fppevj6jT+reWhydfNY/rjrb2X5E5PA0N0DMP/KumJ6
|
|
120
|
+
MhK80GqFmQXqIaimhypPyiKvswWYNAcZaIPxcaHjLMmKOKnjpDoTRy0YOHxEvyKEEHpZ3mBRcfiN
|
|
121
|
+
jyghr5UJnKMD4OOlCSFstQwVTJ0TzlPlMdlAppUHtbj+PgJKk8SP6FZ0WlHGBFLz1IFFwqEsrUmT
|
|
122
|
+
ZaRpSlLnBSnLkqRVQ5KsutoLWuhnR0MeNUu5A6hS2tMwjyXK/Rk5XcxLPRirO/eOinuhhBtbC9Rp
|
|
123
|
+
FYw6rw1e0FOE0P0ypPlNbmysnoxvvX6E5bsmXeXwtpUNzPIz6LWncqunaUE+kGs5eCqk200ZM8pG
|
|
124
|
+
4Bt1WwmdudA7INqF/tfNR9prcKGGz8hvAGNgPPDWWOCCvU28tVkIR/u/tsuQF8PYgX0SDFovwIZF
|
|
125
|
+
cOjpLNd7wu6P8zC1vVADWGPFelS9aVnXp4e6LKsDjk7RXwAAAP//AwB8pc73XQMAAA==
|
|
126
|
+
headers:
|
|
127
|
+
CF-RAY:
|
|
128
|
+
- 99dfef7e8b9debcd-CPH
|
|
129
|
+
Connection:
|
|
130
|
+
- keep-alive
|
|
131
|
+
Content-Encoding:
|
|
132
|
+
- gzip
|
|
133
|
+
Content-Type:
|
|
134
|
+
- application/json
|
|
135
|
+
Date:
|
|
136
|
+
- Thu, 13 Nov 2025 17:19:43 GMT
|
|
137
|
+
Server:
|
|
138
|
+
- cloudflare
|
|
139
|
+
Strict-Transport-Security:
|
|
140
|
+
- max-age=31536000; includeSubDomains; preload
|
|
141
|
+
Transfer-Encoding:
|
|
142
|
+
- chunked
|
|
143
|
+
X-Content-Type-Options:
|
|
144
|
+
- nosniff
|
|
145
|
+
access-control-expose-headers:
|
|
146
|
+
- X-Request-ID
|
|
147
|
+
alt-svc:
|
|
148
|
+
- h3=":443"; ma=86400
|
|
149
|
+
cf-cache-status:
|
|
150
|
+
- DYNAMIC
|
|
151
|
+
openai-organization:
|
|
152
|
+
- sotai-i3ryiz
|
|
153
|
+
openai-processing-ms:
|
|
154
|
+
- '516'
|
|
155
|
+
openai-project:
|
|
156
|
+
- proj_2kPLXdwNOjkHt3ifb0aZ4FwU
|
|
157
|
+
openai-version:
|
|
158
|
+
- '2020-10-01'
|
|
159
|
+
x-envoy-upstream-service-time:
|
|
160
|
+
- '872'
|
|
161
|
+
x-openai-proxy-wasm:
|
|
162
|
+
- v0.1
|
|
163
|
+
x-ratelimit-limit-requests:
|
|
164
|
+
- '5000'
|
|
165
|
+
x-ratelimit-limit-tokens:
|
|
166
|
+
- '800000'
|
|
167
|
+
x-ratelimit-remaining-requests:
|
|
168
|
+
- '4999'
|
|
169
|
+
x-ratelimit-remaining-tokens:
|
|
170
|
+
- '799982'
|
|
171
|
+
x-ratelimit-reset-requests:
|
|
172
|
+
- 12ms
|
|
173
|
+
x-ratelimit-reset-tokens:
|
|
174
|
+
- 1ms
|
|
175
|
+
x-request-id:
|
|
176
|
+
- req_8b144e1b8e8b469ea736d01e2dbb7fc1
|
|
177
|
+
status:
|
|
178
|
+
code: 200
|
|
179
|
+
message: OK
|
|
180
|
+
version: 1
|