From c9f09a22291c1615f893c301a6ab9efd2812c293 Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 20:40:33 +0000 Subject: [PATCH 1/3] [fern-generated] Update SDK Generated by Fern CLI Version: unknown Generators: - fernapi/fern-python-sdk: 5.34.3 --- .fern/metadata.json | 6 +- README.md | 60 + poetry.lock | 1069 ++++++++------- pyproject.toml | 3 +- reference.md | 1209 +++++++++++------ src/zep_cloud/__init__.py | 317 +++-- src/zep_cloud/agent/__init__.py | 33 +- src/zep_cloud/agent/client.py | 125 +- src/zep_cloud/agent/raw_client.py | 60 +- src/zep_cloud/agent/skill/use/client.py | 16 +- src/zep_cloud/agent/skill/use/raw_client.py | 12 +- .../run/item => task_family}/__init__.py | 0 src/zep_cloud/agent/task_family/client.py | 261 ++++ src/zep_cloud/agent/task_family/raw_client.py | 495 +++++++ .../{trajectory_import => trace}/__init__.py | 11 +- .../agent/{trajectory => trace}/client.py | 682 +++++----- .../agent/{trajectory => trace}/raw_client.py | 714 +++++----- src/zep_cloud/agent/trace/types/__init__.py | 40 + .../trace/types/trace_list_request_order.py | 5 + .../types/trace_list_request_order_by.py | 5 + .../types/trace_list_request_source_kind.py | 5 + .../{trajectory => trace_import}/__init__.py | 7 +- .../client.py | 222 ++- .../raw_client.py | 272 ++-- .../run/__init__.py | 0 .../run/client.py | 52 +- .../agent/trace_import/run/item/__init__.py | 4 + .../run/item/client.py | 20 +- .../run/item/raw_client.py | 28 +- .../run/raw_client.py | 68 +- .../types/__init__.py | 6 +- .../trace_import_delete_request_traces.py | 5 + .../trajectory_list_request_source_kind.py | 5 - ...tory_import_delete_request_trajectories.py | 5 - src/zep_cloud/agent/types/__init__.py | 38 + .../agent/types/agent_list_request_order.py | 5 + .../types/agent_list_request_order_by.py | 5 + src/zep_cloud/core/client_wrapper.py | 4 +- src/zep_cloud/graph/__init__.py | 6 + src/zep_cloud/graph/client.py | 44 +- src/zep_cloud/graph/episode/client.py | 24 +- src/zep_cloud/graph/episode/raw_client.py | 24 +- src/zep_cloud/graph/raw_client.py | 52 +- src/zep_cloud/graph/types/__init__.py | 6 + .../types/search_edges_request_reranker.py | 7 + .../types/search_nodes_request_reranker.py | 7 + src/zep_cloud/project/client.py | 16 + src/zep_cloud/project/raw_client.py | 38 + src/zep_cloud/trace_connection/__init__.py | 9 +- src/zep_cloud/trace_connection/client.py | 41 +- src/zep_cloud/trace_connection/raw_client.py | 41 +- .../trace_connection/trace/client.py | 10 +- .../trace_connection/trace/raw_client.py | 14 +- .../types/__init__.py | 6 +- ...reate_trace_connection_request_provider.py | 5 + src/zep_cloud/types/__init__.py | 303 +++-- src/zep_cloud/types/add_message.py | 12 +- src/zep_cloud/types/agent.py | 2 +- src/zep_cloud/types/agent_context.py | 2 +- src/zep_cloud/types/agent_learning_state.py | 2 +- .../types/agent_skill_candidate_evidence.py | 4 +- .../types/agent_skill_compilation_outcome.py | 2 +- ...ill_compilation_outcome_rejection_class.py | 2 +- src/zep_cloud/types/agent_skill_evaluation.py | 2 +- src/zep_cloud/types/agent_skill_evidence.py | 4 +- .../types/agent_skill_relationship.py | 8 +- src/zep_cloud/types/agent_skill_use.py | 2 +- .../types/agent_skill_use_outcome.py | 2 +- .../types/agent_task_family_descriptor.py | 73 + .../agent_task_family_descriptor_page.py | 33 + .../{agent_trajectory.py => agent_trace.py} | 57 +- ...ifier.py => agent_trace_close_verifier.py} | 2 +- ...ajectory_event.py => agent_trace_event.py} | 20 +- ...ontext.py => agent_trace_event_context.py} | 12 +- ...vent_page.py => agent_trace_event_page.py} | 6 +- ... => agent_trace_event_processing_state.py} | 2 +- ..._source.py => agent_trace_event_source.py} | 10 +- .../agent_trace_event_source_copy_mode.py | 5 + ...agent_trace_event_source_retention_mode.py | 5 + ...vent_type.py => agent_trace_event_type.py} | 2 +- ....py => agent_trace_finalization_result.py} | 6 +- ...ry_internal.py => agent_trace_internal.py} | 6 +- src/zep_cloud/types/agent_trace_lifecycle.py | 5 + src/zep_cloud/types/agent_trace_outcome.py | 5 + ...trajectory_page.py => agent_trace_page.py} | 10 +- .../types/agent_trace_processing_state.py | 5 + ...rce_ref.py => agent_trace_resource_ref.py} | 2 +- ...range.py => agent_trace_sequence_range.py} | 2 +- ...ectory_source.py => agent_trace_source.py} | 2 +- ... => agent_trace_source_deletion_result.py} | 6 +- ...=> agent_trace_summary_creation_reason.py} | 2 +- ...=> agent_trace_summary_omission_reason.py} | 2 +- ...y => agent_trace_summary_omitted_range.py} | 6 +- ...ry_page.py => agent_trace_summary_page.py} | 6 +- ...sion.py => agent_trace_summary_version.py} | 20 +- .../agent_trace_task_family_inference.py | 47 + .../types/agent_trace_verification.py | 5 + ...agent_trajectory_event_source_copy_mode.py | 5 - ..._trajectory_event_source_retention_mode.py | 5 - .../types/agent_trajectory_lifecycle.py | 5 - .../agent_trajectory_processing_state.py | 5 - .../types/agent_trajectory_verification.py | 5 - src/zep_cloud/types/batch_item_input.py | 13 +- src/zep_cloud/types/context_episode.py | 15 +- src/zep_cloud/types/create_agent_request.py | 2 +- ...quest.py => delete_agent_trace_request.py} | 2 +- src/zep_cloud/types/edge_search_filters.py | 81 ++ src/zep_cloud/types/entity_property.py | 7 + src/zep_cloud/types/episode.py | 15 +- ...ference.py => imported_trace_reference.py} | 6 +- src/zep_cloud/types/ingestion_trace_input.py | 10 + ...tion_trace_protected_attribute_conflict.py | 37 + src/zep_cloud/types/message.py | 8 +- src/zep_cloud/types/node_search_filters.py | 61 + src/zep_cloud/types/outcome_mapping_rule.py | 2 +- src/zep_cloud/types/project.py | 5 + .../rename_agent_task_family_response.py | 29 + src/zep_cloud/types/search_filters.py | 16 +- src/zep_cloud/types/source_trace.py | 6 +- src/zep_cloud/types/source_trace_summary.py | 6 +- src/zep_cloud/types/trace_connection.py | 5 +- .../types/trace_connection_provider.py | 5 + .../types/trace_connection_settings.py | 4 +- ...nt_mapping.py => trace_content_mapping.py} | 4 +- .../{trajectory_import.py => trace_import.py} | 37 +- ...ry_import_page.py => trace_import_page.py} | 8 +- ...reason.py => trace_import_pause_reason.py} | 2 +- src/zep_cloud/types/trace_import_provider.py | 5 + ...tory_import_run.py => trace_import_run.py} | 2 +- ...t_run_item.py => trace_import_run_item.py} | 6 +- ..._page.py => trace_import_run_item_page.py} | 6 +- ...t_run_page.py => trace_import_run_page.py} | 6 +- ...rence.py => trace_import_run_reference.py} | 10 +- ...y => trace_import_run_reference_status.py} | 2 +- .../trace_import_run_reference_trigger.py | 5 + ...t_schedule.py => trace_import_schedule.py} | 2 +- ...selection.py => trace_import_selection.py} | 2 +- ...trajectory_mapping.py => trace_mapping.py} | 12 +- ...=> trace_mapping_include_outcomes_item.py} | 2 +- ...ping_result.py => trace_mapping_result.py} | 10 +- ...ome.py => trace_mapping_result_outcome.py} | 2 +- .../trace_mapping_result_outcome_rule.py | 5 + src/zep_cloud/types/trace_preview.py | 6 +- ...trajectory_import_run_reference_trigger.py | 5 - ...rajectory_mapping_include_outcomes_item.py | 7 - .../trajectory_mapping_result_outcome_rule.py | 5 - src/zep_cloud/user_group/client.py | 44 +- src/zep_cloud/user_group/raw_client.py | 44 +- 148 files changed, 4789 insertions(+), 2745 deletions(-) rename src/zep_cloud/agent/{trajectory_import/run/item => task_family}/__init__.py (100%) create mode 100644 src/zep_cloud/agent/task_family/client.py create mode 100644 src/zep_cloud/agent/task_family/raw_client.py rename src/zep_cloud/agent/{trajectory_import => trace}/__init__.py (71%) rename src/zep_cloud/agent/{trajectory => trace}/client.py (70%) rename src/zep_cloud/agent/{trajectory => trace}/raw_client.py (82%) create mode 100644 src/zep_cloud/agent/trace/types/__init__.py create mode 100644 src/zep_cloud/agent/trace/types/trace_list_request_order.py create mode 100644 src/zep_cloud/agent/trace/types/trace_list_request_order_by.py create mode 100644 src/zep_cloud/agent/trace/types/trace_list_request_source_kind.py rename src/zep_cloud/agent/{trajectory => trace_import}/__init__.py (80%) rename src/zep_cloud/agent/{trajectory_import => trace_import}/client.py (78%) rename src/zep_cloud/agent/{trajectory_import => trace_import}/raw_client.py (87%) rename src/zep_cloud/agent/{trajectory_import => trace_import}/run/__init__.py (100%) rename src/zep_cloud/agent/{trajectory_import => trace_import}/run/client.py (87%) create mode 100644 src/zep_cloud/agent/trace_import/run/item/__init__.py rename src/zep_cloud/agent/{trajectory_import => trace_import}/run/item/client.py (86%) rename src/zep_cloud/agent/{trajectory_import => trace_import}/run/item/raw_client.py (89%) rename src/zep_cloud/agent/{trajectory_import => trace_import}/run/raw_client.py (90%) rename src/zep_cloud/agent/{trajectory => trace_import}/types/__init__.py (78%) create mode 100644 src/zep_cloud/agent/trace_import/types/trace_import_delete_request_traces.py delete mode 100644 src/zep_cloud/agent/trajectory/types/trajectory_list_request_source_kind.py delete mode 100644 src/zep_cloud/agent/trajectory_import/types/trajectory_import_delete_request_trajectories.py create mode 100644 src/zep_cloud/agent/types/__init__.py create mode 100644 src/zep_cloud/agent/types/agent_list_request_order.py create mode 100644 src/zep_cloud/agent/types/agent_list_request_order_by.py create mode 100644 src/zep_cloud/graph/types/search_edges_request_reranker.py create mode 100644 src/zep_cloud/graph/types/search_nodes_request_reranker.py rename src/zep_cloud/{agent/trajectory_import => trace_connection}/types/__init__.py (78%) create mode 100644 src/zep_cloud/trace_connection/types/create_trace_connection_request_provider.py create mode 100644 src/zep_cloud/types/agent_task_family_descriptor.py create mode 100644 src/zep_cloud/types/agent_task_family_descriptor_page.py rename src/zep_cloud/types/{agent_trajectory.py => agent_trace.py} (60%) rename src/zep_cloud/types/{agent_trajectory_close_verifier.py => agent_trace_close_verifier.py} (94%) rename src/zep_cloud/types/{agent_trajectory_event.py => agent_trace_event.py} (62%) rename src/zep_cloud/types/{agent_trajectory_event_context.py => agent_trace_event_context.py} (54%) rename src/zep_cloud/types/{agent_trajectory_event_page.py => agent_trace_event_page.py} (75%) rename src/zep_cloud/types/{agent_trajectory_event_processing_state.py => agent_trace_event_processing_state.py} (75%) rename src/zep_cloud/types/{agent_trajectory_event_source.py => agent_trace_event_source.py} (62%) create mode 100644 src/zep_cloud/types/agent_trace_event_source_copy_mode.py create mode 100644 src/zep_cloud/types/agent_trace_event_source_retention_mode.py rename src/zep_cloud/types/{agent_trajectory_event_type.py => agent_trace_event_type.py} (90%) rename src/zep_cloud/types/{agent_trajectory_finalization_result.py => agent_trace_finalization_result.py} (76%) rename src/zep_cloud/types/{agent_trajectory_internal.py => agent_trace_internal.py} (77%) create mode 100644 src/zep_cloud/types/agent_trace_lifecycle.py create mode 100644 src/zep_cloud/types/agent_trace_outcome.py rename src/zep_cloud/types/{agent_trajectory_page.py => agent_trace_page.py} (71%) create mode 100644 src/zep_cloud/types/agent_trace_processing_state.py rename src/zep_cloud/types/{agent_trajectory_resource_ref.py => agent_trace_resource_ref.py} (90%) rename src/zep_cloud/types/{agent_trajectory_sequence_range.py => agent_trace_sequence_range.py} (89%) rename src/zep_cloud/types/{agent_trajectory_source.py => agent_trace_source.py} (96%) rename src/zep_cloud/types/{agent_trajectory_source_deletion_result.py => agent_trace_source_deletion_result.py} (80%) rename src/zep_cloud/types/{agent_trajectory_summary_creation_reason.py => agent_trace_summary_creation_reason.py} (80%) rename src/zep_cloud/types/{agent_trajectory_summary_omission_reason.py => agent_trace_summary_omission_reason.py} (82%) rename src/zep_cloud/types/{agent_trajectory_summary_omitted_range.py => agent_trace_summary_omitted_range.py} (71%) rename src/zep_cloud/types/{agent_trajectory_summary_page.py => agent_trace_summary_page.py} (72%) rename src/zep_cloud/types/{agent_trajectory_summary_version.py => agent_trace_summary_version.py} (65%) create mode 100644 src/zep_cloud/types/agent_trace_task_family_inference.py create mode 100644 src/zep_cloud/types/agent_trace_verification.py delete mode 100644 src/zep_cloud/types/agent_trajectory_event_source_copy_mode.py delete mode 100644 src/zep_cloud/types/agent_trajectory_event_source_retention_mode.py delete mode 100644 src/zep_cloud/types/agent_trajectory_lifecycle.py delete mode 100644 src/zep_cloud/types/agent_trajectory_processing_state.py delete mode 100644 src/zep_cloud/types/agent_trajectory_verification.py rename src/zep_cloud/types/{delete_agent_trajectory_request.py => delete_agent_trace_request.py} (89%) create mode 100644 src/zep_cloud/types/edge_search_filters.py rename src/zep_cloud/types/{imported_trajectory_reference.py => imported_trace_reference.py} (80%) create mode 100644 src/zep_cloud/types/ingestion_trace_protected_attribute_conflict.py create mode 100644 src/zep_cloud/types/node_search_filters.py create mode 100644 src/zep_cloud/types/rename_agent_task_family_response.py create mode 100644 src/zep_cloud/types/trace_connection_provider.py rename src/zep_cloud/types/{trajectory_content_mapping.py => trace_content_mapping.py} (85%) rename src/zep_cloud/types/{trajectory_import.py => trace_import.py} (71%) rename src/zep_cloud/types/{trajectory_import_page.py => trace_import_page.py} (70%) rename src/zep_cloud/types/{trajectory_import_pause_reason.py => trace_import_pause_reason.py} (79%) create mode 100644 src/zep_cloud/types/trace_import_provider.py rename src/zep_cloud/types/{trajectory_import_run.py => trace_import_run.py} (98%) rename src/zep_cloud/types/{trajectory_import_run_item.py => trace_import_run_item.py} (85%) rename src/zep_cloud/types/{trajectory_import_run_item_page.py => trace_import_run_item_page.py} (79%) rename src/zep_cloud/types/{trajectory_import_run_page.py => trace_import_run_page.py} (81%) rename src/zep_cloud/types/{trajectory_import_run_reference.py => trace_import_run_reference.py} (73%) rename src/zep_cloud/types/{trajectory_import_run_reference_status.py => trace_import_run_reference_status.py} (78%) create mode 100644 src/zep_cloud/types/trace_import_run_reference_trigger.py rename src/zep_cloud/types/{trajectory_import_schedule.py => trace_import_schedule.py} (95%) rename src/zep_cloud/types/{trajectory_import_selection.py => trace_import_selection.py} (94%) rename src/zep_cloud/types/{trajectory_mapping.py => trace_mapping.py} (74%) rename src/zep_cloud/types/{trajectory_mapping_result_outcome.py => trace_mapping_include_outcomes_item.py} (78%) rename src/zep_cloud/types/{trajectory_mapping_result.py => trace_mapping_result.py} (76%) rename src/zep_cloud/types/{agent_trajectory_outcome.py => trace_mapping_result_outcome.py} (80%) create mode 100644 src/zep_cloud/types/trace_mapping_result_outcome_rule.py delete mode 100644 src/zep_cloud/types/trajectory_import_run_reference_trigger.py delete mode 100644 src/zep_cloud/types/trajectory_mapping_include_outcomes_item.py delete mode 100644 src/zep_cloud/types/trajectory_mapping_result_outcome_rule.py diff --git a/.fern/metadata.json b/.fern/metadata.json index 1eab89dd..91be0f6f 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -12,10 +12,10 @@ }, "pyproject_python_version": "^3.10" }, - "originGitCommit": "26e9820bad75494d5ac535a7f939856d42587c22", + "originGitCommit": "607df517968c291238a3e34f4e9e9dffd9dcd208", "originGitCommitIsDirty": true, "invokedBy": "ci", - "requestedVersion": "4.0.0b1", + "requestedVersion": "4.0.0rc1", "ciProvider": "github", - "sdkVersion": "4.0.0b1" + "sdkVersion": "4.0.0rc1" } \ No newline at end of file diff --git a/README.md b/README.md index c861b306..c775b5f8 100644 --- a/README.md +++ b/README.md @@ -33,18 +33,78 @@ pip install zep-cloud > [!NOTE] > Zep Cloud [overview](https://help.getzep.com/concepts) and [cloud sdk guide](https://help.getzep.com/sdks). +### Community Installation +```bash +pip install zep-python +``` +> [!NOTE] +> Zep Community Edition [quick start](https://help.getzep.com/ce/quickstart) and [sdk guide](https://help.getzep.com/ce/sdks). + +### Zep v0.x Compatible SDK +You can install Zep v0.x compatible sdk by running: +```bash +pip install "zep-python>=1.5.0,<2.0.0" +``` +> [!NOTE] +> Zep v0.x [quick start](https://help.getzep.com/ce/legacy/deployment/quickstart) and [sdk guide](https://help.getzep.com/ce/legacy/sdk). + ### How Zep works Zep persists and recalls chat histories, and automatically generates summaries and other artifacts from these chat histories. It also embeds messages and summaries, enabling you to search Zep for relevant context from past conversations. Zep does all of this asynchronously, ensuring these operations don't impact your user's chat experience. Data is persisted to database, allowing you to scale out when growth demands. +Zep also provides a simple, easy to use abstraction for document vector search called Document Collections. This is designed to complement Zep's core context features, but is not designed to be a general purpose vector database. + Zep allows you to be more intentional about constructing your prompt: 1. automatically adding a few recent messages, with the number customized for your app; 2. a summary of recent conversations prior to the messages above; 3. and/or contextually relevant summaries or messages surfaced from the entire chat session. +4. and/or relevant Business data from Zep Document Collections. + +Zep Cloud offers: +- **Fact Extraction:** Automatically build fact tables from conversations, without having to define a data schema upfront. +- **Dialog Classification:** Instantly and accurately classify chat dialog. Understand user intent and emotion, segment users, and more. Route chains based on semantic context, and trigger events. +- **Structured Data Extraction:** Quickly extract business data from chat conversations using a schema you define. Understand what your Assistant should ask for next in order to complete its task. You will also need to provide a Zep Project API key to your zep client. You can find out about zep projects in our [cloud docs](https://help.getzep.com/projects.html) +### Using LangChain Zep Classes with `zep-python` + +(Currently only available on release candidate versions) + +In the pre-release version `zep-python` sdk comes with `ZepChatMessageHistory` and `ZepVectorStore` +classes that are compatible with [LangChain's Python expression language](https://python.langchain.com/docs/expression_language/) + +In order to use these classes in your application, you need to make sure that you have +`langchain_core` package installed, please refer to [Langchain's docs installation section](https://python.langchain.com/docs/get_started/installation#langchain-core). + +We support `langchain_core@>=0.1.3<0.2.0` + +You can import these classes in the following way: + +```python +from zep_cloud.langchain import ZepChatMessageHistory, ZepVectorStore +``` + +### Running Examples +You will need to set the following environment variables to run examples in the `examples` directory: + +```dotenv +# Please use examples/.env.example as a template for .env file + +# Required +ZEP_API_KEY=# Your Zep Project API Key +ZEP_COLLECTION=# used in ingestion script and in vector store examples +OPENAI_API_KEY=# Your OpenAI API Key + +# Optional (If you want to use langsmith with LangServe Sample App) +LANGCHAIN_TRACING_V2=true +LANGCHAIN_API_KEY= +LANGCHAIN_PROJECT=# If not specified, defaults to "default" +``` + + + ## Installation ```sh diff --git a/poetry.lock b/poetry.lock index 33bf4d20..b31a28a2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -15,174 +15,174 @@ files = [ [[package]] name = "aiohttp" -version = "3.14.4" +version = "3.14.5" description = "Async http client/server framework (asyncio)" optional = true python-versions = ">=3.10" groups = ["main"] markers = "extra == \"aiohttp\"" files = [ - {file = "aiohttp-3.14.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:dea3b3653c1d0d6babd8ce09cb9e5a7776864315d9cfb1c569f926389874a261"}, - {file = "aiohttp-3.14.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3099a389e5b5900fc79c6f613015ff3f8fa06a519744e6001cc68a31ba418cac"}, - {file = "aiohttp-3.14.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:70247156fc76e92919f9aacb820556cb30289a54784299a31714d030bb604d84"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fdf2d2a6ad402797422949f4a200a60d43e3a021695c8a7804aa1d5bbef22652"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ba835fad8d4b5eaea0d34f9461cf499737a720a5f8bc6768d2f6d98a1d3ba8b5"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0d4415ca5c9c8b24bc2f5733f870d4eab4929e680203559ba60131dd1a27852a"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6757e02c2c2b0d7985f57be87cf4a7c5b35708f849e1feaea3f77656ddb9dff"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a950bd8418ef54eccf5f9f517f08e37c1adab4bc50a470a0422ee1cc1032e29"}, - {file = "aiohttp-3.14.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:34cf6f2fe4fc1d7183e8cc0d8c48bbdda828a740bc372d8278126149714d343c"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bc0fbe4f79c3b156d754dd062718ffe404c3b31ca878d9d2b88ecdbc72ef8369"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:d3d50a5a07a2b31a4369b86dd4a3acf3c2577c45091dbd5e884b198dec56480b"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:de15c46a63f46da881d219e44a04778c40114c756e5575b5ea38143b20eb3713"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:caa4c0fc9b25e8c679baac68337e9c00deb6baf6601fe6f07e8511469cc1ceba"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:3647f8c090632c70abb1e80826e4ee24faea3f895f0283b60e91a0b17aea5e34"}, - {file = "aiohttp-3.14.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3f3e8030169843fb652a60a3d32c206e03f260198aa398985a48b41cd7e42f0a"}, - {file = "aiohttp-3.14.4-cp310-cp310-win32.whl", hash = "sha256:a1205cbdddfca1428129bb6d23e0b292b09e681df951fa828145d83a63ffc0ca"}, - {file = "aiohttp-3.14.4-cp310-cp310-win_amd64.whl", hash = "sha256:e90980e0454a043f81b435309a089ac5deab883779557eb58d004f33990f61e4"}, - {file = "aiohttp-3.14.4-cp310-cp310-win_arm64.whl", hash = "sha256:e63eecf9a4b670a24055d5c0486128af16f83b02d9817abd685d3238940f8752"}, - {file = "aiohttp-3.14.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eb0093ca0817019d539f0d27bdf98e823944e05bb7efd9d2337a45b92e4d1b06"}, - {file = "aiohttp-3.14.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f482dc9c8309801b4259dd218609d3dae0a7bcdedeac56d90500eabaa0c23465"}, - {file = "aiohttp-3.14.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:aa800bb7c1d00e166493931f2ddacb982db913292503dc2f4884db1f2bc5f105"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d90e4dae71b26597f6d1fd12af7d092ae67551edf0e524b73e0687214b79ee33"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5b681054b8c3b86aa6a0384b6ad7f5cb78dccbabab1f4a3a6793f98ad1378959"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6dfe80b41bcf8d80d2125fb99a171adeb86db2fcb35c1a68e0226acba0ba7f03"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:71e4a59c6a8c5a6ae8b0b696c32635913e8f526cc01448762eaf5a3c59df8a4f"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f887c3b7fb3058fc1ccd917f52078540c18d938d12018cb9edd64b6811d20c57"}, - {file = "aiohttp-3.14.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0da4525e9ba145a11617d2cd7e44fe1acaf471f9c72a0cad28e72879c1020fbb"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f7e8d3c5caa44fdbee3eba1aa1417aa58c74c95d4089fe3c451911117fcbb2f3"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:09092cf906c18c824b6b16881da5a89cc9cfa9b15344e496bcf880e9045bee33"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:dfd144837e92264878bba6d3a7ffa8206668b21e87748740afd45d193e48c87e"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:9413cffe4e0d654b9b524f9c99dde8cbdb37e0ed9a2c4edd2e63adbac6b374e8"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f50d719f97ba488dfb8e306cf8c8cc172ff0683ec0af53917b288229aa555ba5"}, - {file = "aiohttp-3.14.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:68ed4824d96b7afec1f3a8d7fba190fe282718041c5772e20298003e1e3e5d66"}, - {file = "aiohttp-3.14.4-cp311-cp311-win32.whl", hash = "sha256:d7a41d1427136828e6b11d3f3fd194d4357d5205a5b610be7ae07b1ba52ab974"}, - {file = "aiohttp-3.14.4-cp311-cp311-win_amd64.whl", hash = "sha256:2efbdb87e79d596325c4eefaef0f4495d701145e882351310ebc538e854dc7a3"}, - {file = "aiohttp-3.14.4-cp311-cp311-win_arm64.whl", hash = "sha256:ac6e6f90d9360e460c873f945f11dc8698db0a71fec6612823f1aaaab2c11faa"}, - {file = "aiohttp-3.14.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:55b0b335982b0db7117dff7f6a8e3aad43c4105f9e392ca04f9fc8d958a95cce"}, - {file = "aiohttp-3.14.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2d0d8e435582b0d53009dac99e26a3d2be932ed7c9dbfcfc70f3fce1cf943bd5"}, - {file = "aiohttp-3.14.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bf734016932d68e1324cfb638cac7a0866a83933a33badf15e836a7e24efb8c0"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:322e3d741b3133bcbb981a41d4f9b8ac3545c18de49c662c2b1f4e1c770b98ad"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:15a3bb5f90a4e515071f3617a45dfe26560beb834a6b6e108cdf4bc9e9719ec3"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6c044e52df1a466af82cad3518c92ea80cc4ddcfea86966ff083bb34bab29bf4"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d613d7d51bf06fe9a5e3aab86ce06d835bb0ceb1a31ea9e8766df4a403ae62a6"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c5e93ab6e6330dce40f5b43996f1fc5f2543296d263a5e4b59ff09e73870b7d8"}, - {file = "aiohttp-3.14.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:20134dc8e68c67e7478124d516449428684c0545b2d3faa575691c8bcbd56678"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f0daef5ef012369dddc391c61f604111424aa9a96313a69fb899018b09d1b01e"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:19290a108de0718b73bc69b86e788975c6a59855c671ebe2a98a07a6f968328f"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1494877625baeffab669f4a25a09ec4eea721b49e35363081a2a8e4231fe141f"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:a779ce4bf099ce4ad2cdfed62f1ca536d435f53237c54ff40172fddada24d1b5"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0b4cec9fca876e2d4f4c6cb32b177390132d04618867689f43fefabf3f5c3980"}, - {file = "aiohttp-3.14.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:217707313e23aedde9bea67cf8365c7b138b549ae179121ef3f476cf67e3173a"}, - {file = "aiohttp-3.14.4-cp312-cp312-win32.whl", hash = "sha256:18a9fb9a3f6e6e63f4d27f9adeef313a2d3c69a84d31170a844623824e722534"}, - {file = "aiohttp-3.14.4-cp312-cp312-win_amd64.whl", hash = "sha256:69dcb02d33dfe415d5ee342cc63b7d320efcaf4b761701c7bd7bfb91c715481a"}, - {file = "aiohttp-3.14.4-cp312-cp312-win_arm64.whl", hash = "sha256:d36b0263e7c2fbf1750b9f35d4e7e48b0442d8c45e4a89e3e74168821fb014bb"}, - {file = "aiohttp-3.14.4-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:264b5a7568306590c44ae4a0237ad1715e35d447ea44ebf324e4c8fd9f78f67a"}, - {file = "aiohttp-3.14.4-cp313-cp313-android_24_x86_64.whl", hash = "sha256:17e5d7c7775d8dd8e894c7ef6ebfa26509de36868a9a6c7c4fcfaf6a1bf43d60"}, - {file = "aiohttp-3.14.4-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:e91dc8fe9cbd052d16f7f1267e285cf8bbac4d2194bd5741f05ef201c77ed09e"}, - {file = "aiohttp-3.14.4-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:8df6157d31703972aec9e3b93963f039ff06318301e30b007c3e941ff8a7ac42"}, - {file = "aiohttp-3.14.4-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:220912b351549dc736c59d104dc443fa615753102bb778a4e98f86e4d94bff6a"}, - {file = "aiohttp-3.14.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2efa42b39bb3f524d5eca3760639b584afdd1143a6b047fda29910ffb75e4993"}, - {file = "aiohttp-3.14.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7e7356059c8262d2c1fd95242e2b7b70fbc6eee3135bf470049cbec3e968b5b0"}, - {file = "aiohttp-3.14.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fac247d0cc956d732df1211ac2d8a9999ec8dc1a92a90401de9d52e4ead546f7"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e2eb0f8b03b4f2bd154ed8cf7c1a119a1ad04808c258bf58f90138c83b8c6d5"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7fbe827d27e0e369fd7bb88ceeaa5b46ea006e73e015b9dd77e3723a53162293"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a70387146d03af9f047c629b71aa27d9594b3b31ec4c9c91e1a73d0d8bf38e0e"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0d0934926fc65744e2fdd44ce68b2d79d5ee608a1e23f0596b35dd696519bb7c"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ff4b366510c733974adb7a4102c094e4a6308e6f369315a4cf14d2d0a619cf82"}, - {file = "aiohttp-3.14.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:85fac7c99e0ac3dcbd6ae1c33774e0603bfc732ddb967a6fce4a731103c1888e"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ef1e9c3b4a2300023a5dc865889ce532cfaf6798ba4ef78fbbefe738a9d23efa"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:97e65916588be0f952b3307aaa8460c0771fa98dbea2dd27dabc9f5d84d53c3b"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:840775cb39a9424f9edf142133a1192263ac5bd79117ad2a16602cef6a0c1e9d"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:54f9256430ca040d58affbd551513de13a5cff7d065204fc52b9a1b0af09a049"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:6112d5931bf12c776188cab81b82bbb17d86e2e1381f2ade6edc43e6b240f0cb"}, - {file = "aiohttp-3.14.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:facc6df39047c4732cbd885bb62e40df20885fcd709fc399e11f81b45ce0fff9"}, - {file = "aiohttp-3.14.4-cp313-cp313-win32.whl", hash = "sha256:7968634fa3a967a2bc0b9aeba1d5a1955501dcd7d0de44b96f7ebfb662797735"}, - {file = "aiohttp-3.14.4-cp313-cp313-win_amd64.whl", hash = "sha256:c0a894b0265d139cd4c2c8bd4643822cc289a4a5331e21e810881bd000ffb2dc"}, - {file = "aiohttp-3.14.4-cp313-cp313-win_arm64.whl", hash = "sha256:da16c3037178e72589d91de59536d271dffc92c2be2b47c38a45538cba54fd29"}, - {file = "aiohttp-3.14.4-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:749bfc43bb1df71bbe6ed215044d5412d786698fc5771d2037436ca49622f3c9"}, - {file = "aiohttp-3.14.4-cp314-cp314-android_24_x86_64.whl", hash = "sha256:c113e4b489d711f606ca278cd8dc89179746244ea841aa0638b1b134600afad0"}, - {file = "aiohttp-3.14.4-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:50969522bc7022026a2c7968e67da5c789f6b716b988edac55dc630390efd5df"}, - {file = "aiohttp-3.14.4-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:cbf92cd7a1c800cee244558dd5630abb45c1c1093ef7b0d546a99f526ff7a9eb"}, - {file = "aiohttp-3.14.4-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:fc76be08ff407fba717a769aff04ca1b4bf9ecfdcb5caadef84a563fdbbd146d"}, - {file = "aiohttp-3.14.4-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9b416f995b68a921069e6ec61fa07f2ac3ff033d92e97a69f673af89f5bb954d"}, - {file = "aiohttp-3.14.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2c9585101cfca10e74a07cc0ef2bdc6d90616e6750926b20456f429d0608f740"}, - {file = "aiohttp-3.14.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:3c4dcf611b095e7983421f49d01ffbed7ed574891533d606ea115fc23e7c4e90"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f8f61a9b5fa56c58e3441f9dc64137f786232d40fb89127190d0e0f84e1e5865"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d43e538dfc85b705fd832620d050970ef5613b3869a7169b44a554b9dab9eee9"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4135c4bb4b7682a7633fadc7170ea969d843f83aa7224e70111a20675105c985"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9055324f156a94fdf6dc9a825ae60f9a2947b88f591ea81ee80826633de62ae7"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fb22c8e4b60385a9b414c70c6e8b2d0f4b23ff7fc4bb572ceb58297b228169f1"}, - {file = "aiohttp-3.14.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3b6945559a260112742ed58cde2165488d2fc51aeea34afbaa99d9371b43e1b5"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:8f4078a90b174f15efb2c8725e8720c40dbd3b2cf6350dbc085c964a938d9de7"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:f433c5654e32f72de3ef074d715eb5c7604eb6d28a5c2f3c9e5056f20fe6b306"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:871035fe79c636b6bc126ed78df37d72b830dfc751612cb4b1040360edf2719f"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2617132524f66338f6c1d218cd16081576aefc40df4f2bcba338a99fbf67fec1"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d8bc326133272deee8ef337581550450e4bb735c0520be893b950a1f5baaf41a"}, - {file = "aiohttp-3.14.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ec57223e261b7fa9979c12dbce009ca53439be76cac3af27f860d3e4b1d6f7a"}, - {file = "aiohttp-3.14.4-cp314-cp314-win32.whl", hash = "sha256:7242043e71fc449a19a47d92f4e9fd1e0ae8d3f88488982381f422bf6d651218"}, - {file = "aiohttp-3.14.4-cp314-cp314-win_amd64.whl", hash = "sha256:019587c7b3a44917dd61bcb312fd5c034f341dc9851b83e7b41b65e08b68ca0f"}, - {file = "aiohttp-3.14.4-cp314-cp314-win_arm64.whl", hash = "sha256:60dc71d38db0988f37e78f6ad4a010a2f6355cfac3fff5f130cf5ef2231f3f0d"}, - {file = "aiohttp-3.14.4-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:674f53ab9d2794e2dd767619a3384bf1006f8d075e43c19d449a645f8ff641c2"}, - {file = "aiohttp-3.14.4-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:6d243221f73e5ac546c2ed9255100423e4bc092b08b944f23498e8cf3096c26c"}, - {file = "aiohttp-3.14.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0daa016eb74e7888ed5f9ceec6eea3158999c1c4a115ef5cbe88baa8d924f94c"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70c031a622aa20add05ebd234b90adaf6bf51c1c88cc305ec760721af83308c3"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7df363fa7c38945a896e12c69af4a1a56cbd4152791d9e41fd0bac396b72de38"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:02a508ba5ad91c4d730523584c0adc65882274bba5e37c33bc2f475e37577256"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0cb3edece6fe6a944eaf97d803b88f606da6bc1600b1894c2969e78ffdc1fc29"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:21ce1223b461bcc5fb389a7204001578f1c0b85c2da60a84d915ebb021294245"}, - {file = "aiohttp-3.14.4-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:35d5432f0dc1c8b71307e9112461b52f336da225e344283eec4779222c0a1dff"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d6ec364493057c118d08292f7cd60865965c209167d8657b45643a26aef77495"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:70492983b7aed9e61bda82fe1ce80bcba9199610886443133783a288638923c0"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:a77776673331577147e9d25cd7833a72e8891b47556336cff06ba1569e488b99"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:73799000dd6fd5247094fd8e6d3e1eb871e41aab5cc35dff9d9f654cd230bc24"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:27b370fb532e707e8c96d04fa0c96301fb7dba2d50aaca57f6c456cdfffec5bd"}, - {file = "aiohttp-3.14.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:884e0d1c707b6217fee3080b9b4029eee7551af788ee761010df19be158414b7"}, - {file = "aiohttp-3.14.4-cp314-cp314t-win32.whl", hash = "sha256:f2e3d34edb151d3e27f93a8338e2da33e2c7261cd4c879ce5f5fe280cc190ea5"}, - {file = "aiohttp-3.14.4-cp314-cp314t-win_amd64.whl", hash = "sha256:88cf889e51092537fe44adfbff96c2a22d6479d6f92b97b3d413fbfd0a4decf4"}, - {file = "aiohttp-3.14.4-cp314-cp314t-win_arm64.whl", hash = "sha256:ca450c6d42fda7c0bfaf0e200f32f77c5f2c960a33be1e14d197c84588b7f5f6"}, - {file = "aiohttp-3.14.4-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:3b10799df72f66c30935bc661cb89e5ac2918debfc575e350e226fbaa846cbb7"}, - {file = "aiohttp-3.14.4-cp315-cp315-android_24_x86_64.whl", hash = "sha256:7ffd7f9dd39caccc6b2f68ec0339435ecad2b20f6ea2e2b3de91bbe464ac7137"}, - {file = "aiohttp-3.14.4-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:a0a7a227353f7693f73878ad14cd2623cafadd656ababcd20e2adfb7225172ea"}, - {file = "aiohttp-3.14.4-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:1c43b6af8e4708e8b3812a9ee4f79895207e12d555b7f6d70deb838e0011e12d"}, - {file = "aiohttp-3.14.4-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:97416b2b997e5e9b817e322b2f0a89b76c54cde22471f51ac17ac15e10901ba0"}, - {file = "aiohttp-3.14.4-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:ee2a5aa31e507c17841d592364f2148393b17f83bc2766e9211e1eb31ea72a70"}, - {file = "aiohttp-3.14.4-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:5d5d9843c34866e986dd24eef713452609e304550c471320ce7b54b3cfb1391e"}, - {file = "aiohttp-3.14.4-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:efcbf93e31b52c21665b6ebc489eb6fdb0dfd86b592edc677b5cffdfa7b11677"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2f1a79977794592dcf6485ed964ec2448db527a1bc0c72ec89663658dad3a739"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:515e7ac6d27509dc3ba2c35fb88970b00b9e7b07ee7cc947c8733dcd54ef5def"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:185154ffa3b54765b5de96f464f41cfa476f8815a03854ae5e0fe4d48fb06e9c"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6aece59f77959628a22cd2ffe48b102cda9611d680e090f204385b3998a1190f"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d7205aa6589f1ad1306c6994ff2e1ab5efabacf938f9ffd7682fb225c197b06a"}, - {file = "aiohttp-3.14.4-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f38c7b3ce60d55ac0f2a9fd2edc194789d043fefea15cfb7dcb40b7d5f561146"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:b0a1274ee4ee6203c15a341cce87f9f3df8151d5496047b3608bb62bd969cffc"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:69ce2407951516f413adf3132b88451eababd710ce631f83c81a9603a3640253"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:b84d3d057c60eb8e0c2b457a1203e868d82709d3f0c272a4975dfd88c2414939"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:4ecc84f69c9e217984f6877e832e4786a74567432c0bf2b7512919fbdfe18ade"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:878f2d7950238b2b0a8cbb88054444a125f0cfbc77f54c811aca0483132a9be3"}, - {file = "aiohttp-3.14.4-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:6ff9d3a0e6935f1cb0a6685f9f4b3f0d3e406456d7a434a03cf309b8cd5d7a2e"}, - {file = "aiohttp-3.14.4-cp315-cp315-win32.whl", hash = "sha256:e07dfd7cd360f20be26dc2487ad4c7f21b0b39fdd593e9ebf37d2424ad52defb"}, - {file = "aiohttp-3.14.4-cp315-cp315-win_amd64.whl", hash = "sha256:921fc4f1ad549091bfc39cb5e93925b04f307f83517756a3111843851130efce"}, - {file = "aiohttp-3.14.4-cp315-cp315-win_arm64.whl", hash = "sha256:5be8af106f96fd625f6c264fa9faaaa9e0104089684d9015d2fa5b6eba6407c7"}, - {file = "aiohttp-3.14.4-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:e69727ec04a4608200ff32ec29478299df7657e2eb78c416ae338d0ca6662596"}, - {file = "aiohttp-3.14.4-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:f8b658dd3ef2ebd7708b311ed96ff7cb5edaca001a30018a091504ef492bcb1c"}, - {file = "aiohttp-3.14.4-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:3749e018123df1205161a73ba96d336e17e9cf6b947295e53a43571de420e7b1"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8f28a3c4fca436b2e594090e7cd22558f5e93a30ca18516c436de982da6fc25a"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e099aae21246992a1d84303ff262262d054c474e46cace33b0d5a69810c71877"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fafb521891e646d9cf5da89f01c75e7159d08be7254a024149630a698be28251"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1d385db2cd154bce0b3dd451cf2a52bec91ebb7be2c3a5d06b14b4391631d807"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ae8a244889d8a53549851bf595b9f382f64acca57e8762da1ecb26ba786828f7"}, - {file = "aiohttp-3.14.4-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:681dde68ff8d8d5e7d5abcad4feb45bfb457a218310c919825e21fc36cac3d0b"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:b91a6441fcaed88ca7bca67726b189332df3ceb6ac0dfc98dcb9654bb723288c"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:f15dbbac49bc15eaff95c0b8166525c4050996af578c7be141e145f40ee2cf24"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:7abae043e87692d1c2adda1fab501bb0612d28c4a23eb082005c1e684f792dac"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:21f4624fb1051fc1aa10d57a636a80e829f7d0417462d6f1ce380b08fe1a904c"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:2e8dc3a0fdaf9d12b954d3d06cc4c355d91b17fb6c671715b593624ca4c379f8"}, - {file = "aiohttp-3.14.4-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:1410b6f6e3d52ea7c02c950496522ce6e85d5543bf154bc80a6141e505251cfa"}, - {file = "aiohttp-3.14.4-cp315-cp315t-win32.whl", hash = "sha256:a65189a89f3e621f7c27a968b5131bbca29126e2b8517dc72b205747a39d4c96"}, - {file = "aiohttp-3.14.4-cp315-cp315t-win_amd64.whl", hash = "sha256:2b2c95f5f769eec92b552969db1f79ea0282058ce5131ed0f2fa540b4af3f14e"}, - {file = "aiohttp-3.14.4-cp315-cp315t-win_arm64.whl", hash = "sha256:54209fff79346ee1ef0d5cbf92fa80a5bb37396406bb4d932e5107f9c29b2d3f"}, - {file = "aiohttp-3.14.4-py3-none-any.whl", hash = "sha256:5c6758ba62aea282c537179cfc8474a90f2b5f7b089cc5ff66d8920d86a9bfdd"}, - {file = "aiohttp-3.14.4.tar.gz", hash = "sha256:831fc5bd39ec2517851e348f613ddb5447a47cf4b71cb09845af7ad7ed45d8f9"}, + {file = "aiohttp-3.14.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ef692a24087a699c0a4a26af45e746e0c1eae2116f6d8a5ff91d8aae2b867b45"}, + {file = "aiohttp-3.14.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1220353657ad49493551f089ce02f1a348fd57ffd585bfec77f2f3c4fe3a7346"}, + {file = "aiohttp-3.14.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:330900acd0dc4cb8b27f9c127fbaad770964845338493e7906ae3822e82dbf8d"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0684952aeae1f5dbfe02d46039338513b94009baecd15d8e4098a357c4c4a2a6"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d94e44be379e569758fee8a9a58431cfc3c2598c708b92b1cfe96c66b4c94aef"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5af42135fdfebdadbc2bcd9c0842a48ccf0d62794c36a260b21dc4b94d1e0119"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4f07fe3ac408d8b3f768be471dc3f56d43843c47d97c66120534467a15ead197"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f375db73a39f5cf83696d500e21a67f418dc9a988955756f254be8f03b7b3651"}, + {file = "aiohttp-3.14.5-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8df7d481654ac96fe1ba9a02a9f67770fdd367823e0d5ef01b922725c4bd2cfa"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e95c8def4b81c5d68d5cf1f54c07acd7c0d2577af244e5b6da802120825737c6"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f2ebb54b3f932210503072f09974b4fb574d823e497a944adfdcd140a6a00255"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:038c2c7e8caa26b6c8423779b5eaf1893904048a512c19b32fe841ffa5592b50"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:b7806e804889231b0e06469fd4a5c06313d1c0a3377322b6d9237fa5e0fe4167"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:9bab2045550c4fe0f7baf89574db1b455c195750702ba96fef1f16972b146617"}, + {file = "aiohttp-3.14.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:96a2e584f0b9ed8f1fa33211397dcf67bb7069866402cb405d191c2f0defb9a3"}, + {file = "aiohttp-3.14.5-cp310-cp310-win32.whl", hash = "sha256:602c1e9b718a3275c580149f947e7fac65044c0a20e599553fb12e9700da9eca"}, + {file = "aiohttp-3.14.5-cp310-cp310-win_amd64.whl", hash = "sha256:bea559ad70218d230663e4210875735076a9bfea5994cef34a55a25faeaf2544"}, + {file = "aiohttp-3.14.5-cp310-cp310-win_arm64.whl", hash = "sha256:dca3fa8d8a0a26679862eccb0b1a9151b2b9f1cd2c212e7a6335778faaff5833"}, + {file = "aiohttp-3.14.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d51db97c96384fbfcaf8f4c65922183a68b94f891c3c10c862ef5f6df2adbb1f"}, + {file = "aiohttp-3.14.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ae53924aa853a7a2ca20ed4142c7c6b56338e4d4cd999e2980075b9efc2e257a"}, + {file = "aiohttp-3.14.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2c473a355f9239efcb72c92d5abfd8fcdb0cc78c8e9af607e72ca12dbb36593"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:32e8fa6644e541fcd7e02430588c7fc93b602c1778ea0bc345505db76b61cfb4"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:579f97d5120f2971876d2ddca2968135f6944d00c44c3a6590ad7d86ca9b403f"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:24409db442e2fb6e766bc7f3943851a8381dec3098140e43bb2e843b79e31b12"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5e8f97c0488ffda3082766ac0f2c8150a9a58c4d05788330e479cfd449b37939"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50a195903119008fe9cc68710535eb37f556ffffd6a7759afe70a2c145587045"}, + {file = "aiohttp-3.14.5-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0133c3c3b54a0bf1e71fa5c1ad95c93f07fd54e24ef1fe182f5122e1573d2bf1"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c172db893e516e1358e65a95ee20b7ce7173963eefe318b6ab2a2220688b999e"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f2a7966bda23dd85051f1661ce0ace38d6890e05ec6c357ecae9d2479cba377e"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4887d130a7bbfed3a85493bb5a25e5b5b558d40c1d986dd16970d2bb26d63793"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:225c579c23b68b343cccea27a7e06e3bd8ec23a09c30b427eb3f1e4ca6239b20"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ab52d8f1fc1b64821c1fbad64a647ed6203627004059a6d1ed4f0858a1499703"}, + {file = "aiohttp-3.14.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cb131d775a1573c1aee66656bd78b023577bbdb6cb8349a07773bd4f73e68a6e"}, + {file = "aiohttp-3.14.5-cp311-cp311-win32.whl", hash = "sha256:e87046c8ff77a8decdb6a41d8ab25824b47531b2da933aeab0c1e21c7acff329"}, + {file = "aiohttp-3.14.5-cp311-cp311-win_amd64.whl", hash = "sha256:6f275c11d1aa6d4c458e05a68be084efe3c55a113d99e3f46a318098e52948fc"}, + {file = "aiohttp-3.14.5-cp311-cp311-win_arm64.whl", hash = "sha256:b032a0023eb41d768ce77d83210ab2a3c389bc0b09313273c7e1eca48c10a755"}, + {file = "aiohttp-3.14.5-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df37b620684e19b5e25724412518ccafc3b1a49cdac706fdbd2f983fad943450"}, + {file = "aiohttp-3.14.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ef60869969180ec2464f1349aff07138ae35ca2200f0946cb3552e49e8f301a8"}, + {file = "aiohttp-3.14.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d079c0a0135c36e7beb6f1c88087c8f108dc5891cdd0b5eafa778421bda70ed2"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:abfda5cb094a829f7bc25216a32f7db2e85cc65bd59910f8e7b40b3d9b224764"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9cc882cf8619109583c906b4d4a85d6a111a98afa34b7a450d1e08118d016820"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7457580535e019e1247ea35d6a02bf081ad30c26d0cbc210c93f6c3ab67a0835"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c5ed596aedb9c42afd3fe0aae3117725378ac73d2cc5ddc735056fbdb96c5d02"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20f085697d7e911f1f73c43ed03fafbed1e7121797e2eb5428efa80398060584"}, + {file = "aiohttp-3.14.5-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:74b0a9c8270f9b0a11410e124ff8d4f18bfc1f1837440ec84da5ae7b50927b5d"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:19e2ba471507c34f8252402ab50f5ab512398b9ea8c8f1cb26beb3f75793ba30"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d418ce2af40c6bb685b3f663e9e8de27cb0a22431d8e88a167348d7f01878073"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:70cb4008ac2ed1e0ca9e824deb4b53d3aa0d939109698ebf1e723a84337bd794"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:a23fe35d776bc03cb495938b9594450d047e3bc08c5255315a82323e9cb7d2dd"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3e0eb43bed3c6801a6cee315195377789e90b2a72c2277a475b578535312488d"}, + {file = "aiohttp-3.14.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be7dd397d64ca3e1869626fa9318aaebb54b7bf93bc72d7a205448d83e4f748"}, + {file = "aiohttp-3.14.5-cp312-cp312-win32.whl", hash = "sha256:eb324e2009fb54db30a071dad7caf6998ee2879c4704007efb244514dad1fec1"}, + {file = "aiohttp-3.14.5-cp312-cp312-win_amd64.whl", hash = "sha256:2cc38a4f2b516bef1714e690df87a0e043faf1a7693c82d860091684453d5111"}, + {file = "aiohttp-3.14.5-cp312-cp312-win_arm64.whl", hash = "sha256:a63afd1f757de949028387e65a7127b61ad0f775432dbb0e62816ae619fe69ac"}, + {file = "aiohttp-3.14.5-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:9ad7e6aa38c20da1be697874349c4c273c8a03b7887169665081706398d0439a"}, + {file = "aiohttp-3.14.5-cp313-cp313-android_24_x86_64.whl", hash = "sha256:f59c7673465908cbe506117176156c127f29f917677afceada34957179221d91"}, + {file = "aiohttp-3.14.5-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1b5416552740edf07234cc9437d0706f2acb67b93c198670b1a68e1b2b587dec"}, + {file = "aiohttp-3.14.5-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:43351bdb5e4c3cb7d1772368e988534e869a74db7778079a83782c11c69535c7"}, + {file = "aiohttp-3.14.5-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:c8c4478bef6d57fcfda15dae461ea3c9f06aa7b257c58df3f2300174ccbb185a"}, + {file = "aiohttp-3.14.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c2c30484dd1417ef98b51021ffa2cc0d7f3c78918adaaaab7e70817335ab3e02"}, + {file = "aiohttp-3.14.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dab9ac5a67c8d1f070c00fa8fccb7cbd1b8dcc1a8d6b42f37540df9b3d4cc603"}, + {file = "aiohttp-3.14.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e1cc2bfaee8c214f06080a7c7d5772419b8a1108e8e5349236189811823fb02a"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:74efb69332b85675b1eabd760a8cfc2e2cf42c60607c66f88014c1bdfb40942d"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:42b5e616946dbaf505e2bff18c9af2cd4ef9e7ef300ee58a6e951a5b7cf147ae"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f9033b43f511f27547c557dcaba0177649e10a3725336ccd2cce0fdc1dc4850d"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:15a310d3c71398e3d7bfc93a1a73fbe664315cd9e9016b8efc1cff85eeab7155"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1ffa3a523a36d8628f98c06492ae16a31a23d14c0b4ec721757b477319f656d6"}, + {file = "aiohttp-3.14.5-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5fb6a6e919bfb703227bc1ce6579281b84b1a2ba57deb9794dfdbec7dcd1e40c"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:43e1b7994a8b038125f722bff07492ef501110722c2727c408995d9fb864c421"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:5f3e96071686755d9cd3600c3880183eb94b012178e92746d68101800f0ed8a3"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:cd88b01f3d37b7a2a34f91d98f14720206f1ea3d540843fab2d649dd5fb91fec"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f2ed8b64dc0c651c0f5a9c926777719770021251b8f336d97c4b80b660836ce1"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:a9918e58faf62ba2c7147927d06057aec78f42475aff5048047ec47e7265a600"}, + {file = "aiohttp-3.14.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:42f320d4a5b00b9af0bddcfec5407dc6f2d9816f006b2f79ebbaa31f16895df3"}, + {file = "aiohttp-3.14.5-cp313-cp313-win32.whl", hash = "sha256:3ae800a20947e2c2e53088047d021e6bf7d51560cc49f6a0737a1f79d2e3a13c"}, + {file = "aiohttp-3.14.5-cp313-cp313-win_amd64.whl", hash = "sha256:d05e94cdfe0d15d0206f970722d2554780ce562787b21b218b275447f8751319"}, + {file = "aiohttp-3.14.5-cp313-cp313-win_arm64.whl", hash = "sha256:f001b571ead90ca1770f1e616db255351a1703317f20374c361ef22f12c06d09"}, + {file = "aiohttp-3.14.5-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:939042d5cda21d41a6f512e7cc8b8e33a2aebff863352251da495fbd91b673b5"}, + {file = "aiohttp-3.14.5-cp314-cp314-android_24_x86_64.whl", hash = "sha256:6da32b5ff3fd78d244e37300463434c7145162bfd2b6e9e915ab164da37f7343"}, + {file = "aiohttp-3.14.5-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1b438b73c38111818d0c9d6a5c2bfed8584c8e503a49ef085d70e874ec846738"}, + {file = "aiohttp-3.14.5-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:755933b107ea7a6a9ac916f635a70595a5b1a32fac10a8ff0b9f2ab88555550c"}, + {file = "aiohttp-3.14.5-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:b3cc509327c7b27f6f4727a8830f4004f6df7766e179f2f4b8e54e65c0bec5d3"}, + {file = "aiohttp-3.14.5-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:7bd8ac754ebd6733a3e2a0dd1674c4d8ab086196803fd8dcd776f07b4e2607d9"}, + {file = "aiohttp-3.14.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:e724a7b6091f0b1ac064f9d1b15ff9ec52e6033a86cdae649e5f086e32a3c0db"}, + {file = "aiohttp-3.14.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c32e26310cc10e547f53cd13d39a369034f69dcb7d749d5cb0e5f67bc196b6ba"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1eb8167961ec4dfcc8cb9dd50bd0ee72519f7ef496be95203e49e27b01618382"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c1d60eafd9c7e8e74abd03a5b00df44e7febfe6d9b89b559c0a6551eef0699d4"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:137351bf20bbed9a65e839f4a4452ac377389bdb2f2857d2acffef38f5e9f2d1"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fba47bc2c3d7303c3d027c6cf4d07626c37b1314ac81f5820c31032e0ca1f677"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:94684b879ac1d71e4238850c99b62dc1b28d9086b156a2555f082010b85a865c"}, + {file = "aiohttp-3.14.5-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:56572c42e3ecd636de8d2c3dd54cf5fc939cb5c32eb56297f176a0d366fac622"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a95529a92a446db351675f4aab518feaf5e99842f63f5dd17160c2b74f382db3"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:3edbece0379b8b4aaa67619b8aa2399bb66fce372cd5911098a434ea77220aa0"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:56d9828f204331a5ca8850fcfe2bcce95a149f1f223f60cc7216e5524978e480"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:20064a177a070d789ee64a50b01a9161d3468e989baacfc6c714aa685c4b332f"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:81c2b3dfd56c62bee6108e4852d5970b4cf9086390b6983f52b666e878c1f115"}, + {file = "aiohttp-3.14.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:09ec102b4b8c9a920275733bbc11fdbb615efe6f9231a06007c0218d336fb77a"}, + {file = "aiohttp-3.14.5-cp314-cp314-win32.whl", hash = "sha256:9c428eb2bd8817588d16a0ab898aa4eb5d141f896aa2b394cc79a4cf61d9a8e2"}, + {file = "aiohttp-3.14.5-cp314-cp314-win_amd64.whl", hash = "sha256:6f967dde489ca6a8c02d093ab245d2cbf50ccb5c36adf0188b17b0ca39d24b67"}, + {file = "aiohttp-3.14.5-cp314-cp314-win_arm64.whl", hash = "sha256:1d2d981b53dd09a319e3570ef8cc3bbc3ef86f5a7abef0f6b2bff3867db3a9e7"}, + {file = "aiohttp-3.14.5-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:9ce66feae6ac65327379460380549bf1b8df8e17c4e25df2a2bcf168272e3bed"}, + {file = "aiohttp-3.14.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:27c2322e03f66101acb09869ce1cf1efc04994ee95e1735b69827bf8c8b9d781"}, + {file = "aiohttp-3.14.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ff75a7537413a86e7cafe98e0e1d6e3dc4b15c6349896e7d5c6b881bfdb6d550"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c061aa954daaf57d2a4b8374f9fca621ef0e1b603584431c220c22458c59b6d"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1612fa5857b37bf32e5c1eaeefb96e3b01e9c70679eec81f0934e8a600080863"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:adbeee7d6fd4cf5fe0aece2fb3edc4243615d3180430ba8149d01a90670cac99"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b2966998927d7bed9db12c0a4647b0c7b179755878fc9c357fe1ffd3e3b0c1a5"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e317e0fb6b16212c881d2205a7d87414c29acd69320b3aa6dce9d9c7b86fe4f"}, + {file = "aiohttp-3.14.5-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:50343c1757b4b6f6708eeaf24534b32f19dfb99fb1b762c00420867a62fc81e0"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:083673c7a94c3ea035caaa5ca04288bdb44887abfe1f5ba23294e6a4b03efd2d"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:2528cb4c6b92008c76ac9ac6298624069bb2db91ff4929905512d1d84485f658"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b1b8ece1e71132d2afba4dbc0c3d62c766e25165990b25db1196c04969eb3d84"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:fce9523df31cea6284f3e2c479876750d7687cf671d7b25d32b19effc0e86441"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:09e0eb18c7e0c8777e2f9149de63799195b9b3ca1b5c81ba6f32f2c6b8628210"}, + {file = "aiohttp-3.14.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6774814fd5c338e72ee0da5cbb9432816df450e69c019f72b5d29bdec2a1792d"}, + {file = "aiohttp-3.14.5-cp314-cp314t-win32.whl", hash = "sha256:33f706574e32c6e694f352a856e05caf18f7f2c871b3e87b41c55ea452b409ab"}, + {file = "aiohttp-3.14.5-cp314-cp314t-win_amd64.whl", hash = "sha256:5ba14a839fbe87cf7c12a6b5661c05f324a296eb8363141edb3944ba63d4c9d3"}, + {file = "aiohttp-3.14.5-cp314-cp314t-win_arm64.whl", hash = "sha256:1061b364556e8172e8d46b0b183adeeb73e8c42d30ebc745591e1bd89acad52e"}, + {file = "aiohttp-3.14.5-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:788ecaa9c10533b786ce5ba70c4f2df78ad41819fd00a6c99d92b66f9a32e1da"}, + {file = "aiohttp-3.14.5-cp315-cp315-android_24_x86_64.whl", hash = "sha256:5c76f1802bab718a68ac3cce447160605c734551f95c67ae90fa1132b215cb29"}, + {file = "aiohttp-3.14.5-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:a6d02b4c38de03d9c7617813433e6a0fb6b522797974177d69d9dad431900833"}, + {file = "aiohttp-3.14.5-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:20726f9782d5c2744c1c66255842d1d163bb3edcf768b8de25216bf47f7b6ccf"}, + {file = "aiohttp-3.14.5-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:248d779ad720b49d4fb355720e60c9e5f444f95887bc16974fea48fc56c41789"}, + {file = "aiohttp-3.14.5-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:0a8ea271867e360ac985ae607f4a23ad9a38414b9aca1d49ec98839ae660e49f"}, + {file = "aiohttp-3.14.5-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:823c910f046f23f4c713b8d99a2242dc65f591cb45ee86418fa11762a3c2963c"}, + {file = "aiohttp-3.14.5-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:9b42db919715e91eb76acf3bc492a9a7ccd8bd9adc6745c1412b689735269f14"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d3112585250b199296c26ca6e0131640b6a8d01bab8b232d2eb3763ed469de11"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c147451b4a58e7050f7f7394e6c467867c84161560001f9ad4fb2d1446743946"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bf163cc701f3d4ac43ba7d97771bf5fd955220ef5500ef3ee847bc0ecfbf4ec1"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f8d40ce41991e9d56fab4f5dc4a51fe59bc3b5c77c27f4b148963064d00232e8"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:276a4fc00b1d9ae492b802763a789c5b86328b989c5ea169f2faa447d6a11c7c"}, + {file = "aiohttp-3.14.5-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:50983e3be33d8c0942ab88cec3905b10602f64c469b20153c48c5d4e558dd016"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:16c8abd5bca220a47efe667d26f8460124c81810787e79ee87b242677563d9dd"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:0790ec66fa4013e83c53b9025a45d454723da1a2fce28b3208c9b32d08af162f"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:cb11a971a3aea10f9b8373be628f1df932964fc6c6b174516d318a48c3ac4412"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:932ce7e694bbc29b2bf6f64f2343c27d148d4997c771d01bdade4639b6749ff4"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:a7d470cf7b206e6359fc77b1b860632fde400d5a2ed59cd0181b93a686bc81ee"}, + {file = "aiohttp-3.14.5-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:6e1d8637cf73eebc92eba2e11d4cfff98a3b562f2505bd75bba766d908926e8d"}, + {file = "aiohttp-3.14.5-cp315-cp315-win32.whl", hash = "sha256:fbdc5ec49f9ca3cd24955cf3520b10a4d4c901ba2572094c84274e9e7eb30534"}, + {file = "aiohttp-3.14.5-cp315-cp315-win_amd64.whl", hash = "sha256:a9d3983bd6ab7aa1cfd573544ae98df9b6cb6912a5185a198263e024a636861d"}, + {file = "aiohttp-3.14.5-cp315-cp315-win_arm64.whl", hash = "sha256:e29347c142cf6e99e0dff5e2995ead1d50fa3b51bf37a7c726a7ccfe5419745a"}, + {file = "aiohttp-3.14.5-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:9bf1d5dcc15204d9ec8b8ea4c18fd66e6b80e5de1f4ecbafb3a2f2740f8039d4"}, + {file = "aiohttp-3.14.5-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:14f04769cfefe4734016a856a83af36133cd17779cef9ae817f812b8ba9d6d51"}, + {file = "aiohttp-3.14.5-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:6e4251c0ba4624a68a2c11471a1ac54c3306876c21f0ae86de085cc9241c8905"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4f5cf4dc72a71c4cfa9751b4950be22f733626670230d46e7d606592aa22d59"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:dbf53ae2601b7fd5a93c3944deea3a78d40f495226d582c35ef7a433425ce2b2"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:657291433bf4dd3142f3abac495764cd47d0c7c92087751e6666c6447e65fcef"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3e51a27980c3788e6e6b3325d694fdd4898087fa8a86b2763af77b39353da41e"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:82c7583cd3dfdc7dcc927835b4f6c7faae7ecc1ba3ca5879321621ae2e6f8e84"}, + {file = "aiohttp-3.14.5-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6fdcd6af7e2e51d1ba1b4bea16e97b074bcb7b5dd0246a9d8201341bb28085a0"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:c8859a013ae0de1074660992139a1a440df3e6b219b86cf0d3f11c2692bb4fe3"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:8966ecac808dd5f473c9c4cefd10cd3ffda71c18a4d3493b7c7d2ae1803bf2cc"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:3093b72c215bda16ce961a6d073f6e71d46e022962a9d5d457c5d4d421c78b57"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:149fb56caf7acb67073126f675d0958d9c4b3125fcd3f6d4877df98aa8a97ce9"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:293d3ae7c6a0ed176a42e59a1b5fde825ead65c835360f734148e96729f928d2"}, + {file = "aiohttp-3.14.5-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:3f2dcc00191fd563e9075181a14ec31d7dd63223ced7582cc70a15a499de0c79"}, + {file = "aiohttp-3.14.5-cp315-cp315t-win32.whl", hash = "sha256:7779cd97e61ebe583ec2f1c5616cdd038aa08a4453b1848c67842176d054948e"}, + {file = "aiohttp-3.14.5-cp315-cp315t-win_amd64.whl", hash = "sha256:0e6f16f5e49c4b8267988c05ab07760d7064cea57d077c3d068d04b0fbb992cb"}, + {file = "aiohttp-3.14.5-cp315-cp315t-win_arm64.whl", hash = "sha256:1aead151c3abbac6b32942e452020cb66d7efc099d253cc6c20f748e926c858b"}, + {file = "aiohttp-3.14.5-py3-none-any.whl", hash = "sha256:efc21a454892828368b11c2c780de0ff8bc991f73f6b99c6b66e56205470929b"}, + {file = "aiohttp-3.14.5.tar.gz", hash = "sha256:5558a7f5a05af9ecf744af91e5baefc436f93c9333e656c27ec253f9a6bbe178"}, ] [package.dependencies] @@ -191,7 +191,7 @@ aiosignal = ">=1.4.0" async-timeout = {version = ">=4.0,<6.0", markers = "python_version < \"3.11\""} attrs = ">=17.3.0" frozenlist = ">=1.1.1" -multidict = ">=4.5,<7.0" +multidict = ">=4.5,<8.0" propcache = ">=0.2.0" typing_extensions = {version = ">=4.4", markers = "python_version < \"3.13\""} yarl = ">=1.25.1,<2.0" @@ -580,196 +580,196 @@ all = ["coverage (>=7.10.0)", "hypothesis (>=6.141.1)", "mypy (>=1.11.2)", "pyte [[package]] name = "iniconfig" -version = "2.3.0" +version = "2.3.1" description = "brain-dead simple config-ini parsing" optional = false python-versions = ">=3.10" groups = ["dev"] files = [ - {file = "iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12"}, - {file = "iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730"}, + {file = "iniconfig-2.3.1-py3-none-any.whl", hash = "sha256:9121e2c1fdb355232495be3194c8dfe87ccc2d5dee45947b78e68f499790d7a7"}, + {file = "iniconfig-2.3.1.tar.gz", hash = "sha256:67f4b9c50da0dedf52af349e7749a80a9057a5031199791b906c3bb3ae878960"}, ] [[package]] name = "multidict" -version = "6.9.1" +version = "7.1.0" description = "multidict implementation" optional = true python-versions = ">=3.10" groups = ["main"] markers = "extra == \"aiohttp\"" files = [ - {file = "multidict-6.9.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:aef74e9beabbd6c4aafc091dabff86d046ccf013ce1e4396c0fbb01b4cad9de8"}, - {file = "multidict-6.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1ca5ebe6d454f1e5496cf052386a559f1080bf2de75bf327ebca0a6003b79f19"}, - {file = "multidict-6.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02f6d0c4b70f783305e73f9944d8efe6be1022550f0974ba0ae9d8893c0350fa"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8050e75af7e4c6e2d5260b84eeedb618f3e452e66473432e085b5d1b81429299"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4736d350371337825cac1793c9f7c40701c32a03912548c2a7608e51679cbb96"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:02fe09dc197b8ae7e355371e51e5dce2f39060cd5a8badf94904527e23a3f188"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ad4528cdce058b684f75fad1faf4a6a6c992fe2f08376370ca66e4ce5916a84a"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8885e3808aedbd6725b921fb67dacaae0678933561ddd47c2b01315198c70e2e"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3b6e6840421c83ccb60398e333b44f910b0907bb409597685ab2eedd1e22eab"}, - {file = "multidict-6.9.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c9648ed33dc8179e4ec04bbc73bd7f0038e1e81217a69467f61f02a78bf07e88"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d9d6544790ba50438a9c1a903c3c4afb1ec8a7832db5518549275b40ef0dd4b1"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1c9f3c25df6c9d3bbae4f6fd3f514b1c5c740a2110f56ccf36069c85417e289c"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cf22b43f35b7dbb9f71e8ee2041b5c00029cdfc28ede3a2f31cf8906f9a6c126"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8ed78ccad4c7b421804f5d524b7740946a7ef75d89dc0dac52e9d7c24c472410"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:e3b1aa25f01238886a6baed9e13b9a9240ed344346c79ae280ae65e8603b21d5"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:bc94a68ea5e18f8e85dc6b522bcb53093f692c8eb62b4837ac047da73956cbe4"}, - {file = "multidict-6.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:73533644e1f69ea1164d56cc6505f564c6c44072b646b66d67df2d31fed0348c"}, - {file = "multidict-6.9.1-cp310-cp310-win32.whl", hash = "sha256:66987aa68b0f7c2a1cc5f388ca962b8ed92b10f79de38d6d0d8c716154f519d9"}, - {file = "multidict-6.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:a32b78c1e52ebd8e247bb68300b90b233300d8816faa008ed0713bc539fb6af0"}, - {file = "multidict-6.9.1-cp310-cp310-win_arm64.whl", hash = "sha256:ab64ace1a68682d191d9bedd9d4c939406ad86b1d9f628180410644249ad46c2"}, - {file = "multidict-6.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:910d4260512660484c0dc1588a316fbb35a40c081c36fc51d1225351af17cfe4"}, - {file = "multidict-6.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:33fa55b990f81c2927e01399ace0d18926c69d69baa8cdaa819424132fb97987"}, - {file = "multidict-6.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:369b5aa01b241cd3fea6890bdbb11a1425d87bf1515831500d518f4223e9d72c"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:803f8b575a71b1b299d677c28db0653459c79b5308874efec813f17b7457c7f1"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b8a65621b98984a62e59403009591b8a5a7736273aefe1cab64cfb85b365cc07"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:13849a1d4f54c3809ae721e9e83ab28f5ea602f33660cb84eb6ef261eac706c1"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dd9a137a4a9becda3094f3831cd026380f75f6855e051eefe4c73ade524f1cc3"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9ae9614c317c50836689ce2dfde07c05fe0b16378562e2221746c3913ede3c80"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8f1e362c9352b50ed120f001046fdbb80810c9d56580f4c3fc13bbe30823387"}, - {file = "multidict-6.9.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0dd655518f136febd96c05131a76a863e32fc2a1d7acd4e3c959e3ceb77d8345"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2c5d675da8f1cb5650271c8ad5e95c0a3e5a183c105e72d953b12877b1c8d0fd"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:658f90f49cf5af2441cad0a2b801c3ef520471989a1ec55bcb25b255b2ca8d2f"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:43124fe172ada86d03ac3c8dc8179091341f6724d5e5d5b160e1587e4cd3761b"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f0adc22a4eb31e545221d93fc73a0f6a8cc2379d0f4309f71d1d17ba938b82"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7fc59e9ba821b220944ccfe0f89c9dc4745f6d097569992356eb03869f21e953"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:87cc632c88ee5dc80e12681047839304d98ee5c9a708d686505767001c9b8b9a"}, - {file = "multidict-6.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b828cf64d62dc09ac183f03c1aeedd164ade96a2ce4934109452edf29de1dd13"}, - {file = "multidict-6.9.1-cp311-cp311-win32.whl", hash = "sha256:2c1aeb92eea59d824f004341b26d5e4b47a8a441cf9726769b9a90abf9d0e08f"}, - {file = "multidict-6.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:5f89dad732280e7a10b74d40b91364f88e13c3f2c08c2ef83a8cd42f7a61af2e"}, - {file = "multidict-6.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:5800368526647146978389dfaa46da3356291e9f0fff9a4ef12e8c2bef964a0d"}, - {file = "multidict-6.9.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:29138fef49828542e859828107e42e50d0e587c513b7eb4b2d92bade2b0860fe"}, - {file = "multidict-6.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:19e31815d41cefc365489e591d105d2baceb2f65aa75d29471fbdbda8651e006"}, - {file = "multidict-6.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6ed30be8918e18c8bed0a2e8b70639ecf02feb61ed00ca2e41cfcb2a50fa3f42"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:637f4ae36264bd7b8d9a60193acddc1d735ad52e8ed53a19931ea6d921fea8e5"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:35fc236507fb1b3138f0af5ecd5f94ed752d4d6d826248eae425f86204013eea"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e58952f04772f59f11c6e007471449809a30165188669bca8fdb19dde40a8f24"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d35a4f1c63f07fbb8c8f9946dea98b21eddf6c57421585f71d91864be3ba2a24"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b5f8771aaaed7f80e84a4e471d2f29ab6721e4595075e54d03ae1ed951b2000a"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:976fd7689d69ec78d67d31d38d396d8adb562f7e8368279f76aed4aa451fa06d"}, - {file = "multidict-6.9.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:95052e8777a86bae87c0bd0b5ab22d809e3d1d02bf69e3e66ddda5ba75a05805"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1a8adfcaf96f587ab138476eaddef95f29b8a2a8a9afbfea8d2fd62180995d02"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1a53de2772cfb74559df2eb4456ec4eeb908435ec55a84b69370d9d745d62aa8"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f2ce963299d42fa3f22a90adc0fdf174792ffef5ff4c7ffb68260548fb05580"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5b30ddf7234e611ca877575b62840e6af5977f92f1f9d532eedbb05a44ff8004"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:63ada7ee2e9345695f9e9bc4c65d72222253f07b1ac94fd0e37555cc6f3c7f60"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3c95601ed98fad3f6e2f8fe809c3b526b0fab31ef525e00a155e227f3d17f58a"}, - {file = "multidict-6.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c148e8b596000dd3e4bfe206e70f3e666be18d72032e0012555f2373c52e35d6"}, - {file = "multidict-6.9.1-cp312-cp312-win32.whl", hash = "sha256:f9dad513626a33670f17cddc6078e30e311f444c957e8dbfc5b2b4603c8b4edb"}, - {file = "multidict-6.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:a16a1dc8529f9e734a41c3b856f3eae7ebacdc061dde3f8a844e0c7889c97203"}, - {file = "multidict-6.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:361f7206cf341ba94fb015688f5c8b480f8e63bd58a4c14a48aeca7851a241cc"}, - {file = "multidict-6.9.1-cp313-cp313-android_24_x86_64.whl", hash = "sha256:d7bf9e43282d69561618e8a0ea33368d532ebef42f15c096f427090521dd74f3"}, - {file = "multidict-6.9.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:03d47df72f084f757c1cb771188d5f4e3a805e4abc4d67e32509272343ae9382"}, - {file = "multidict-6.9.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:6bc94fe17c3c56e5418f79515b786b101845f70609b0d19d0c1ba13448e5633a"}, - {file = "multidict-6.9.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8f2973bbd2bebd9d2e0cd6394c1292a1a19ccd56bdcbe1e174059f1a39be5b40"}, - {file = "multidict-6.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de7738b8c0bb74c4cc16bbd7fb49fc2bcf6430dba11b3432cd52768ae40933e8"}, - {file = "multidict-6.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e5ccad4b7bac125722f48d6f862bed3b514d8526deea06316bb72f152cd30a7c"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a49ff5cdb33654cb7d6a3c377aa2a83ddefaa1db31eb10bcf3c180aa84f9af8a"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b22ff30006a2f28f8bff878fb93413cbe3a4d1fd517c28081d848c90e9cfd2c8"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3adf06c66041aa21eeb8a71e82379b74773298c8e6d3d839b151aae441a99b94"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:963a8d8f97057082679523d0fd4c53a38f86bc58cabe4556faef682ae53fa2fa"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b66ccc5c2cdd26e74fa5d4c29ffae424cc6148bf93ce574821783fb3b6d452c5"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7fd79c521f6290c69125fa2b85fa65d9e657e6a8ffaf722dc881b926bef4aa5c"}, - {file = "multidict-6.9.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1d804e4caf5d5da37d6dac1325da5629ebef1e27a294c2b568b295814aa36c7b"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bb0d664505f4b112f384cffeee82e91e3f6448d8e574989479db4439b68cba05"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9e14d17773b1b3c758ff153659a1824608a0cb562c45f484b5ed8a433428444a"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:083735b7f395894e43adb278d5dae901448883a835ff8f1977e285fefdb10418"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b65121091567847a8cb520d364ab22ba90e00d3cc55fa9eb34bb439f0684bcd1"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:ea999ae6e80e66ad5eea287860951b033d0104ca34d6d87c7b5125ebe0e12721"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:095d900c242e00fbe5f321ee072e7278b4153e78c5ce9c1efde167d62c1e4771"}, - {file = "multidict-6.9.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6441cc837aea58be7d9baef1b2383eb8311ab9303f500f99ac90b584cd78bb14"}, - {file = "multidict-6.9.1-cp313-cp313-win32.whl", hash = "sha256:9c4880d017555d70dea367dd49271830842d48e3891c2da97da7ce8c4abcee40"}, - {file = "multidict-6.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:ac51cd64bae51c462ea58ad2492c9b8209667a4ef60c45c4a304518b67598d5d"}, - {file = "multidict-6.9.1-cp313-cp313-win_arm64.whl", hash = "sha256:37a9ebe00c698279213d56e6c64e1962ab1e092918270649b397cac3dc196ca4"}, - {file = "multidict-6.9.1-cp314-cp314-android_24_x86_64.whl", hash = "sha256:fc0dcb22fa9aeabfe3fa4e0430099acff985ec5d77a851382f76cc6146e780e5"}, - {file = "multidict-6.9.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:024123f0ab402ab33828e24eb80fa8f25167d0d3783ba5f287e39ed741e6abf9"}, - {file = "multidict-6.9.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:af1b5a92315048c3e36bbebfa7d4760a9c3e910bc4166f11b20d77d20d6bcfca"}, - {file = "multidict-6.9.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b2483da477932ad1983d1d33c18bc3771c6fb00cfbaaed70a875fd547ef8e840"}, - {file = "multidict-6.9.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:db4d697b18b6ef5528b1f36bfa25072cd2a421869f5963bc0e92c8a34b9e2800"}, - {file = "multidict-6.9.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:854fd2f1bc6e8a56b89910b5cd7261a8b40f13ebb31572da985ce59c7da0886d"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:03731f6fc036180700c9dc2308205a48e5ca6f3ff03087739ab746f294022201"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:989261c5f1735a165f2e4e87cf6d5f17ab734fa18f9ad0383d5adfcdaefce701"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b4c9e5d05b126b267ac048a89a0e2d9b48b1b648add62d4872906304a8590610"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9d0a21cf76153de8f2d96a877991d6bc59b9ab5180b949e50db73cc193b4a694"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e7386aa18d98d6b8af44b92173654ec469237fda35f8e8523e43b581a86f476a"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b69651732c64afb691e50cdc3387cae305e0eeff8804fe3e3ce203876494932a"}, - {file = "multidict-6.9.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1fee9a16d88a1c4865610de31ef5c666671020d7a81d1f510eaf3c97d00ebeba"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7814bbee202acd3bd240204c17d8b87a4c48c81064fd8674dbe527d94d5a4290"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:95f273bea318a194f656527ee2ed19494327bc500b8e87d9358e3222579aa28d"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:73bcafa21a78d0776b3ee7cd2a63c66f968eb7db8e8d594e32d7329950f6e828"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:1a938761c77e0e6edb0c93d02f4e988d44a69e5195e5a3b893e5553311347132"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:37245ca4105386194dd1d292a6f2aae09bfe1bd7ac6f9ec25093e3cf8e9b143b"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f0700527dd5bfa8b7204b08330542f4f388899d3c14d885d8a368992e0eb562d"}, - {file = "multidict-6.9.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6b7e54fd883671d1a8810704851c044b7173287c552b9f5c3d9e0eb9f00ae194"}, - {file = "multidict-6.9.1-cp314-cp314-win32.whl", hash = "sha256:e81ae656b9935ac4528a71f96bb7a14d949778ed1897c573d3e7ebb9187f8841"}, - {file = "multidict-6.9.1-cp314-cp314-win_amd64.whl", hash = "sha256:acddcac38adc8342ba48aba98896faa7928854bebb62542362138655b5367ee3"}, - {file = "multidict-6.9.1-cp314-cp314-win_arm64.whl", hash = "sha256:32217133dddc58c927805cf6c0731d8144584176b768042ee886d51e71860bc9"}, - {file = "multidict-6.9.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0b2fb8c349d1103863750b5d8cb5ace766917f4b35f3d883c8f778853eaa9f76"}, - {file = "multidict-6.9.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:56d834b74c993a7d7cb2b8ab33a0d55c3e0d4a3d2f2da2808a4ad3d79189711b"}, - {file = "multidict-6.9.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:783ba7d845d79ce976afd9c1e91a4e5714671defa198ee789e8b23316083a485"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4d718fa1b5f0d0dd75e86fbbc5b0c93ea3a5d65216c85c61cd5d7cdddfe08455"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a313bad717dde740959d50850c315b75fd4eb0c5e6b4dc8535db0f1c369be125"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ef01d29fca550ab871fd99154f82c6472aacf8e7def272dfb07b460123850390"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f3bd290711c6e9486173a6ee7cd4e7f00c3971c7908c1ec1b6e5437c5e4c6f9"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:81cdc537e0a42e3c0170752fcadbe450246d5c3b4b7231d6eb9672456605ac94"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8b193bf7a443c97d81c47052f60c486071a4bdef4a573fa2514f920089414d45"}, - {file = "multidict-6.9.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7a0c98f6a636adf0d7edd60c61589eaf52d149239af754d0bfeb0effedba53a8"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:6e6b7e3a1520c39a2772f414cd9ddf5995f77e4e823dfa1522af383addd465a3"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:ca65cced0d67a9039e93bcd98a369920e499bf98296844ff56ead01c9085321f"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:372c063f37480f62c1ae32dc3a1a0a5942b180c883f99789075a8a8ec3c4e709"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:827c92145b3b976b39430129c89d213b250dacbe5fce678e9a03940e6e848983"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:9b0124b9c17e9890f0819b2e7a5f65ec9a2f5aabd6c8e7ad090c1675cf70dee6"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:23136f5a564654eb61061ec6d5620a4c1ea32c8f552b65e9982a12b72bff601b"}, - {file = "multidict-6.9.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f2524ec55b3e65cbe235a8b3c36e2af3b635be02ed05e20c94e70c5c943c009e"}, - {file = "multidict-6.9.1-cp314-cp314t-win32.whl", hash = "sha256:35ba0263bae5dd3ad5aad767cc9afc01a8598c7dae30f1b3b2de98b1b32c28bd"}, - {file = "multidict-6.9.1-cp314-cp314t-win_amd64.whl", hash = "sha256:7c8d5882ba25ac0282258be435d8a05aa0cbcacfce15799154a338f847f159b9"}, - {file = "multidict-6.9.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ac348379cf4de5538a0a213be1532d289aa801ec5d267c5909446b9ea2f8e2c3"}, - {file = "multidict-6.9.1-cp315-cp315-android_24_x86_64.whl", hash = "sha256:f04551dce5a7db8c9659f2e4245494c182d0663b83661803e08d46bfcae5eda1"}, - {file = "multidict-6.9.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:c0c88085affd35c33e124e36930c5ad96aff9294ce195eaa0fd9cec962b64a82"}, - {file = "multidict-6.9.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:a8b75dd3d3638d9a19f23e84af4ffab3b8940422c0df2da2a77005ef5aa3d7ea"}, - {file = "multidict-6.9.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:006c4478de0a1876f4834e14255776286f09b9846b505fe63f67f9d173a9487c"}, - {file = "multidict-6.9.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:2784090c30a586d5b45197bd9c32f87fb927216cde302f6cfd76d76577e90f08"}, - {file = "multidict-6.9.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:7c708566da8014b120a64b1eb6d200c6c0c8cb36296383723cdb6fc82038270b"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:042fb0196047e786936a730bd302de83143950da45f2c16078da8f35e1cf7919"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a2212a0c842c723d919ea4a22a9296cb6b244b386e4e6ea92adfc7fbf3095519"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fd882aa29bf402b62bf1fd7c19fd5df4b6528cf468a908864b39368572b662a9"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c57541034d12b215ab0a2bfa371d1a8a198da18176d0426c27105b9161a6862d"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d73fed4e37158ff00cd271871170b79e40138db51e625fd352fa17c6acb34f67"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:79da2491348b30810728050b4a8ec0416f85884125c2fd44655b3d01150d9c3e"}, - {file = "multidict-6.9.1-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b4da208a63434d21a3df64d29758e650fc4aa8cb05848554b76949c296539cca"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:877ca17fdcfdf5c397493a71e5ff97a87bb181417fe717fdadc77c08c09301ac"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:40aec5299e1ed71fbb988389059da381c3c1a60e0c649acceb2a35d9b128848e"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:4a409ccc42aefec904038695d5d7fd6d8f3af2721b7b6401d55135ec7d6d298e"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:0a5769559e3312dd96731fbe15b4abb6033368ac1cad5a98dadd21946a4c7d6c"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:03fac50ddfd8302175b77863a015eccfae76767cda5506eef86df559ba861e1f"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:5ecace251ccfa705bf3d7d35c5032cf750f5c629809740405697bce5c118c4a4"}, - {file = "multidict-6.9.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:ecc89dbd4155b2f8a47f4bbd89242a35ed15e8e0ec581cab5ac65fa38407329d"}, - {file = "multidict-6.9.1-cp315-cp315-win32.whl", hash = "sha256:a3ffe881246d28a862f1985824f484cb7361f44d6b99c4c620436ef56462f38d"}, - {file = "multidict-6.9.1-cp315-cp315-win_amd64.whl", hash = "sha256:59c123d0e948d760a5f930f316cfefa07e8d632ab84327c0693ee6a88171154f"}, - {file = "multidict-6.9.1-cp315-cp315-win_arm64.whl", hash = "sha256:31199204b3ced121ff5407a2c342326a5d27e3870abbf94bd80dbd2451b7bc8f"}, - {file = "multidict-6.9.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:8879510a76940670517ea1cb589978da44b86e286ec3e50d664ef330817afce7"}, - {file = "multidict-6.9.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:aec65b53a07f580606593f877eefbb29a45939bfc0d3fe6e6d9f42b41b749f68"}, - {file = "multidict-6.9.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:14c56f73e78faa1f68bbb826197cd5871994e70e841b8590829c35912ece5c64"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:38c9986f9ce50c459b10de216a05f4bd7ed5ac63887d56e500a52bb464b861ce"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:15db6a102cbaf1949cf028ecf080aac76d20bcd29ad4e092574db6c6b7af78a5"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:bd82c4977196681a499bb6ca9e462afbc5c91c1c15b6a991dfbd72733fea4dd2"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bb58ba73a3f96f9a3e46b1fab69929d7edbbddb3133ee74b5c3c54074a53c4f1"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7c6eecfab7ce4cd9487ff8ba936fe38cdfd68c04faf3d5c710363c6a8e695659"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c62e71e6289d78c0108d8aeb495f8bd3cad4bc1632fedddc9297ddf287ecc20"}, - {file = "multidict-6.9.1-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:539c2cd5fed0947c135cd7eabaaac55f48300dfa1de0f3ca4edb5efa6606f471"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:3100d169ceb7bc8f05f89a6db11d1b21f119975fc26f29dc45a472e3569f0879"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:696477ad71385c4795e3b8e4cf10b0d2c28c2a1ca6a955e031cb1e62993e9ee3"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:f5844e7befc707367807586f550fa97e23dcfef0728f02b98c7bc498a961a5df"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:abc7c2e4b47bfe6a9aea434d3fdebb9597ee636e914e92ba352f2068b9142f4c"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:7ab379f95caee071a37cbd8be86d4c65accc651d391f9f97748fef006f38769c"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:557a4e1708df428ebe6c3081c83a273d275dad2446ce0d81fc648ac71afdb18d"}, - {file = "multidict-6.9.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:475d04d5192eba487a3e2f935976340baa24529046e9c1c9c7a3b7bf80445ae1"}, - {file = "multidict-6.9.1-cp315-cp315t-win32.whl", hash = "sha256:10083a8a0f4e1b26b599889e90b9802504ce5d3f7722f925bbb7ca47dd22a7c1"}, - {file = "multidict-6.9.1-cp315-cp315t-win_amd64.whl", hash = "sha256:e96ca64383efa107262ee3949f047af5ee4f1845ba09463466c04d35a83bd3ec"}, - {file = "multidict-6.9.1-cp315-cp315t-win_arm64.whl", hash = "sha256:501ed8b02a5990c67a91c732843609d43a6be1f7576fcdfc867331239f37fbd3"}, - {file = "multidict-6.9.1-py3-none-any.whl", hash = "sha256:7bf6478188f4e47bf5686e8a33da4ae28bf43b1b2528d9ee144d28492bfac60b"}, - {file = "multidict-6.9.1.tar.gz", hash = "sha256:0f06e60fa190aa7abd0914c2a766736fdc8e9f34878c4346338534b73d1b20e2"}, + {file = "multidict-7.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:24ad4921135a1410d95b1f1504f4901e1c64cea680014ce2c3c7a825f4f259fc"}, + {file = "multidict-7.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8b8429361241da973e594d15344a0989f44fd288ea58d33a6221fb7cc0daf27e"}, + {file = "multidict-7.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5c6455f2c11daeee40665c67494cedb426f67dba7375710524071c0c56d739a6"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6120aab922bb3e15800b6655558cf8e0a5cc79518e954d457f064e5b3d5e9bf6"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:14b1ce8579a43dfc0e592d93fb1d63dea693e4977980ac4166f26d494cc7a358"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:71acdc6eded0f4b86b5e16c96314887cf2572a8eb5d8038b78583d0c0eb3aa1c"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b7cd1cb0b363cd43ebf499beca26d201dd8b89eee49fae60205c82ba13ee03a"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dd8a6b3e8f9edb07fe671b02d8c3241c8b641fecce7eb1e36432db3e55e243da"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9a8c826caeb7c08264e0a556df1267531c6ed90cc70506e7e5f4119e2d09f3d7"}, + {file = "multidict-7.1.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c44ced5e5168cdf677f0ae39900863bf2bda7d14a5e13502014005cfe040b8b4"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b57d4d7021bfd159db9f8f6f862a85a7a6027934643c512f028d6e5c60c4cbd2"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:7fac4250b37d994e3fe42b46ba3c8bfa1614d1d7d8cf1cf23f303099082a9565"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:966ae0588ac9959a040220063733b33f321d04eaf4e60349b42cd855d232202f"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:50acd7ee7096949b04482cd7720cb6b85eb9cd9dd5d7ffb6704bfda250261a22"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:ed6b7f402f3dabd1d72c798b96cf947005ddd796a5bea7b041bccbd517859a42"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:fadcc96cd6155f35e6d85845fa4fcd37b35885dc8fda77b9f851cdfa538194c1"}, + {file = "multidict-7.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c6b67f08014bfc4aedc22cf6a21010c2530cd5fbeb655730406827fe196296be"}, + {file = "multidict-7.1.0-cp310-cp310-win32.whl", hash = "sha256:0604ff025497a050a2b2dcc4ae0e5cb6477c525e57b89825152c707e88d74d28"}, + {file = "multidict-7.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:36b14886aa3e0b8786ecdaa196374422c7b1c1dcc8764d02b2409f74d47914bc"}, + {file = "multidict-7.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:a2e575129c048bc286d696ed8e49ca148591768b2d77debcc6569f6fb64d0668"}, + {file = "multidict-7.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:41ff3202cc23c800507777df5a4805b402f262b31008c60fdc652aeb6db2f278"}, + {file = "multidict-7.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e50f7775b66c7802f4cb697e986c5acf30ec07301efee95b396c08114e890d67"}, + {file = "multidict-7.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:85cb3ced4fa84949cee12bfe78208b6ece7baf3cbd242b26dcaf773efff8d206"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:2128f3358335e0c83688ecb40c19d9d6606cd60784dfbf2e24e980ac2ba87b0d"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e2e718fa9d1d900decbc240a533d5d0baf0947ef464c78a8cd4fa32b4e8f590c"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ecc68f5e47bc6f6f889bbed5bc657b22bb2237ad9ccab8229cb5a0d64f4cb536"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5f21fda91bd6c34455bd5c312e42aa1334da46cdafb4c533ecd01e0f7f19250b"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a90453a79423cd7145cc08fc92322dcd7aca4862258f533e03f473226d4b835"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c54ae1b89e582aa25f213cd8b5eac0bda1724e79299f486baeb3f562bbf82ca5"}, + {file = "multidict-7.1.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7ff8dd079e7b5f3438332499233a2a5acfca0741fd0eb3d4ddba0c2d9bc04d19"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e4ef15d0a29fc2da67fe8ba2301ecabd6f8733696cc2bf0a0cf96a144a20328c"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5fa296f14068538fced53c6eec86520a2ef3d3d27a0fb134640d03e067986d5f"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6ab323f0c5490abaf35a78563e1043c7a772eb86d93f359ecc0fd286d1cd3807"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:88ec4d16e9f58071c9896ea01c4da97cce9d01418fe844ff06eebb00e0a1386a"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:9161eb81b8062da824426d3700d4b0d287f0cb0b05923713adfe3bd25e7937ac"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c564d0758748f38aec56a6b98c6801a427b3a63f39b7cac538b2b2d18ca32740"}, + {file = "multidict-7.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c5e4a362a95b85301d262ef6bed06cc8e4a144ac7e2be874cb4c3c46ae89d754"}, + {file = "multidict-7.1.0-cp311-cp311-win32.whl", hash = "sha256:5d19bb1ec12e385c09215d5d53a243c060c7e8a0aacdba16d933e22902ee380d"}, + {file = "multidict-7.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:396ba9917fe489ec3a5942ae3e29e91324c8b9956f371f7e124c971c71379e7a"}, + {file = "multidict-7.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:b5ed78742502b8d90ff2816688d407a097c8b5cc6af4343fc5ad7a98df53a7cd"}, + {file = "multidict-7.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ccfb950359a80de0fcd2030ad60ac1b1a861462de3e2ef746697c9256659af21"}, + {file = "multidict-7.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:939d8cd2d8c35e3956f6bc858390b6ccb611e6152b4920d64ab5e98f3fcf39e4"}, + {file = "multidict-7.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f8e95c95039eab6a2dad8c83c38ab87fc5431d28849e0c8a7e2a4e70ba38710d"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:05d12b4bac53abe0c65f3163af2b45894e2e1c0cc55493ac784d52a350047d88"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0e79ed92b1dece6bb57e9b46effd74d7a5d3d00187c85466d880ed184239a698"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fab380fcff8b3555eb2bd04304fa4330909a771a9a9b0dc07666cfc23148a711"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4b5c41e44da74383c924cc5d75ef0a268f301d69305b3c42bd17af685d55e412"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3dbaa7f7c2f0ca8578895fc61fb8c8e50ebb405dad8982f92f4343285c7a3fda"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed6b7705d49dd07e5e0dd5f5c873fc44047e92d714299b13245b5fecac49d01"}, + {file = "multidict-7.1.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:53daa47dd176db64bb35170e3d5d0ae2388c060121201883696278f055a0e70c"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:542429c796430de924d03b68a6173bb6d79d5c4967d4e9a18de3e501cad55593"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c44ca6d3cdf4cfcbcd4f928fdcbe87af5fd7319f6ad4169617b7fd6b4527c33c"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eb0228c809b2e7eb47921876050af0bc4214b351bad8d8112f70b6ed4288763c"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6ad60de1f4c702448fc8f1449f05e810f6b7957c08a5b3950c8a792dfb13b50a"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:f79def86aee67b5ba01b2565f1610f262bf88ae53c379f93e5fa29c50fe793be"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:248dabb89b5aa90b2f7e43e045f048f7e5392ec77b6446d80853ba7117d7bbdf"}, + {file = "multidict-7.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0747a83e7ae617793181a4763ee8b84863cec5c0bbbde70c4394e4c0276c36de"}, + {file = "multidict-7.1.0-cp312-cp312-win32.whl", hash = "sha256:1df055e51fe7491120cc84f3362bd43db186be78d0e4c476acad45e435af9ffb"}, + {file = "multidict-7.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:10202ba98cfb3f7eb60da7ca87a2c458a69b7d0d6e4d4388cd6773ebbce89085"}, + {file = "multidict-7.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:0aa1ba3ff7cdda05a1242490612976b2ae1c90fc6200903ef8f53815dcb35c5d"}, + {file = "multidict-7.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:51d7f33be9a4a1a2801430846d72841deea0894eae8381a07e7d90e0f71b3c4b"}, + {file = "multidict-7.1.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:2a964dfeb2aba3663f0536c809aa1ff385f065e89fae57e883fb7edfb4067c2f"}, + {file = "multidict-7.1.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d02cd23b5af182a49d635ee72be38053767711987a9fd82625b16b93828a0d8c"}, + {file = "multidict-7.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0179698c3c913eb64f32397083747fad20ed0f0a2b7469a08cd1a8a95d14d90e"}, + {file = "multidict-7.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ccf98ee859fe29f874ddd8e637f14ba59108a333492b521acb885a9095244a9c"}, + {file = "multidict-7.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5fa1484f74d011addf2e5f5a0378ec41521989839a05d6051d8067d8ce732423"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1fed3d721f75c25a9fcdd0e362af53f4b20acbcdc63081112f85419ba0ce3444"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df03e392cae1e05462918abbae06d6100f1e53f67db971ff0ac6c07d9edf7321"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:379f477b98a1e9a77ddc3ccaa8c709d3fb4a288ff54b96e171e637b55b4adbae"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:40f586bc8a084a3671ddcae9e5fbd3228a596bfb63d9f0380f153f9a65b69f08"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6e7f70d912a589e30290ed926f90ddbc3160998359cbad7c9ede1bcee481748c"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5129cc1f5fec6888e2db0be936dab67242e32c738811c8769aeea93aab4257a8"}, + {file = "multidict-7.1.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1401caec21fd7f002e79ab6806bbfd1f54bb3de6d5e12bd91c6685dce16ad2be"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c81062e947f4b5a624135a843f6ac4b3c7fe6508300c9fb27347f022ba0c513d"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c53be0dd676484a660acc56e4f1cd0dd74bc1255d12fa285e86a3fa9d5f22bf9"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:41e0c3350d08994ee8640c39884e16514e282f70ba40f5b2299582509a327774"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:abeec7a89d698aa1c9b4c36bd5e3c746faef0867076e6a2ca27fa5077c4ece26"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:23f6d325241b0db006ca2841309ed17622137e134930a740a8f1331ec4404791"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:034b0dc1b7fb8279599c5d8563f86abb4d2454735b06544ecab23c54572ad2bd"}, + {file = "multidict-7.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5c8074ad4d67067c87bd0663dfda654f786336078c8fd7d2f6c1aa41de8494cc"}, + {file = "multidict-7.1.0-cp313-cp313-win32.whl", hash = "sha256:7b25c335fc53acf29d4d21dbc19fe39d2824201cdda0448623152cc5917bd259"}, + {file = "multidict-7.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:7de54b49e6da811b0321e412d14efdaa1ee0c0b6609296ea5b9022bc5b2bd843"}, + {file = "multidict-7.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:aeba2c750102051aa51e087c2ccbc79f2724a41c94168f8731e36f54c453551a"}, + {file = "multidict-7.1.0-cp314-cp314-android_24_x86_64.whl", hash = "sha256:128ea4142f81a79d430f3d0eb55206093e5eda03a12abbc7b03c34748ff6116b"}, + {file = "multidict-7.1.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:439a19f7fbbff232ce96682c57e27030b8ac3a4b8121484c94f04bf99d08bfff"}, + {file = "multidict-7.1.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:8090c35199d6b7bc6426bb8bdaf341e64f295cc2624a1fda7860c0837f1acc03"}, + {file = "multidict-7.1.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:b7cc5333fcbfb27327d12612ed72322f221b61c2b69deb1155078c964f86e1a1"}, + {file = "multidict-7.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:b0e0040b0d8dd89bd0af9ab18901981e344ffba68bb30b8eabb4eab6c303279b"}, + {file = "multidict-7.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:33376418ab2846b931a72b36cfa16810befc4f49485d0b3f4dc054a4d6d00038"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1101aea5c3eb1d26e090b931c693488af0db9f3d52e68be8d4cdd807dad9841d"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f996b19ac89e0dae65821ce65f788619e4286f78c62d005ecd3b75b5d9c0892b"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e0d91a4bcb59ac0d7af0d8e0da737332e1b7fe6831e53e47819b1b5349d431b2"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e96d67914ddbf5466e4476a1cd7ff30a332cbab85ed895207acc3e58c979b6a7"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:170ba61761f59ab92afcc86ce5534a3f3d0b07c38b339b950a83213f22dd86ec"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:33389fe084e5426d9fd85d7d9ca91a29cd0d88a83c7c96e411aca49a3f9967bc"}, + {file = "multidict-7.1.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:77024596b9046572c4e90b34c1ff212346756dc48933f90c53cf6e233660788d"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ff15531a376dc6f35984443fd1429e4b150c36ce27633e7cc52a9e5318546e20"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:544f2642a456fa264614e975d921540ee8c3b368b04d5aa1ddbec33241b13e08"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:08834fb8b20e1a985c70e8380a10940234b4162de62694458727330376e58b33"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b4908e17867930b7ac77f89a18dc67308c67c511f037d8580489be86fb585912"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:9b24e1f93b9b586ec03bc7bea1bf021ec90bf2528c729195028a3ca1c266b3f9"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5c93473d0d7cd9bbb370973a9679a62f381c7050d7dff4ad6aaa92e8650f5a79"}, + {file = "multidict-7.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:bf14cfcc30b097583d698a6e2b8b68c9bcffab277c485d481881958360c2938d"}, + {file = "multidict-7.1.0-cp314-cp314-win32.whl", hash = "sha256:86bc779a0896e59e4be30a5be5cd6eeffd0b40b6f0e75e730218736b7bfc6f5c"}, + {file = "multidict-7.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:6c9fd50f636a8fa9cb6324cd3eac962fec2bc5bb432452a3b583583a1059acfc"}, + {file = "multidict-7.1.0-cp314-cp314-win_arm64.whl", hash = "sha256:e6906aa4bc62cde2c8aeb8a99a7b4401b241e274ae7b11df67d863d61ab3d5de"}, + {file = "multidict-7.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:fabfdd4cf97db033196b51af46b8a681d4785c2a66347f2a5af1b4bbb1182629"}, + {file = "multidict-7.1.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:a177a0ee5cf19931dcaeb3f662bc562754cfa4f4ace2351d9da24a954ef7db94"}, + {file = "multidict-7.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0ae91de396d5c4ac97cb24dbada3d5c91a51454781e0a70476b008f4e879e4f0"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:160bdb3520fdadcaa21e1b98aab2e011265070814ecab3804eb61674becbd400"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6c2144785e42527404bbd5cfd11981fee4abe59a22aded0e498eb711a831d3f3"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7d0b4fec6a8d02d7e95de5cfa913261820f1ce04bd4c0381924de0da523179b8"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:943a9bce22180ad0f4d32d1b402a0949a4ecfe5a1257b47f54a1b51981d81b86"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f76ceb623f7ff50df46ac57e1587c479d87a5766319c4f43d0c0a5158896afab"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:98beff85392ce435b28a0971ec21cade61ce8be8b632c9d855475a28ef92d31a"}, + {file = "multidict-7.1.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:71196ebb8d523148e5975396a444de02367f204b53b14e26794c96b2be0ed742"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:35534b366410a36bb3d6f788691e37a76e4d1da48326b0ada3e5032580dd76af"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:b4674b12701c3fcbdf7f88b9e4479701c93bec5da9eb576140d5fcc0092990af"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:0ead852a5e906a43fcb6784eeac480f6a67919a51d480c1f80d32ddf9d615475"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:afe36ca503c2ffe30fb6df82b20389fa3c4035b5d65888a61310921cf3ae91c5"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:a5f0bebb10aae010d3c9ee3abaf83ab2069c718457aea09c15532355dd7e061f"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:b9d9b7d72975521434368fe8aed3f6b522060bf271adabaa5ca6c87c0c08e168"}, + {file = "multidict-7.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:274023bf952f849e0d05eba28a4c1f65f9796430d2b09ec16539386c0f76554c"}, + {file = "multidict-7.1.0-cp314-cp314t-win32.whl", hash = "sha256:7e0bfa161df365ba3c88899ee3b7c94755200967284bdedef8c1b8b43e2c0f2b"}, + {file = "multidict-7.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:34a35be8fb82d37087e8176aba907b9459f03d0e293c80f574c6337a436f4eaa"}, + {file = "multidict-7.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:d7dd46a8fcd7653c09ebe67eae9d4cb6636c7a905d9cbaf587dabcbd4eca6013"}, + {file = "multidict-7.1.0-cp315-cp315-android_24_x86_64.whl", hash = "sha256:852c921217f330b3e81a822647ebadeae7e42cf503ec1992d0bfbc90121c09fb"}, + {file = "multidict-7.1.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:cbec738d2ad551c6f70955d7eec95e339380ee1564e2afe86bfee05fed52ceec"}, + {file = "multidict-7.1.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:a5f721a2437390ab69c10c6df5c142478d399af8dfb02e6d823cf2358e8a4748"}, + {file = "multidict-7.1.0-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:99cf27791129d37e191ff013bfc29bf6631c29edb21680c00978567b91fc5d6b"}, + {file = "multidict-7.1.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:2ba6611fc93c4b169d0e0ea376ebf4b8a529933d1f5f2c2ec7d8f8b93ef58ec2"}, + {file = "multidict-7.1.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:c45629c0049fbdef932dbe408ac2b271fdc8c7d9962ca31160f4a0fc3455fe4f"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cf606cfe3f67984b4064ac605d71e1eba12515fbabf5bd5a34a8952b8800dc66"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:50fdfcb03be719d9573597b095b1175d2e9d0b30d065791dfd9fca727c499442"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a8bba9d1f6db4ef2a6ebfc937a65d36e80e3aada00b382eaf56fea8f639322d5"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:46d4af0afc6eb9867b3ae50605787c80b868e2f52eac3801246034925fe578b8"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5cc58ebb731200ddb64d55f1b345630fb5f7a8138cdbd242af9dce964a7cb03d"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4b87ad54e8d4adeb0a1f04889504d6ec7f04fb02609220810f51f1b6c66bc1cc"}, + {file = "multidict-7.1.0-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:44f7e5dd83a615636b80182bdf446ece57ed61d5d51854acc5d9840631136d4e"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:9bc5e7f843d14a167cdc26fe2d22f6f3aa2feb57919cf3ff034262a57d8d95d0"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:0631eb5f49f67de10bbdc3f64141326dbc62e8d319900966648381ce0845d8ca"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:d1b1b32f3c32f734dde8f36ac1df8e275e768a7b333241cd637cb2538628a4b4"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:159976f9c40f96e3fe0952b708846a43a76bacb114e9cc828816f5080bddd5ec"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:81a0e08c64dfdad27dab687b96f572b23bafa1999a39d1b6f70b3ddbb73e8bd0"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:4e11e7299079718c78f8147e7206c22fe35bab4466d38992420795288a0b8096"}, + {file = "multidict-7.1.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:34d2ee98e15d5cfe782a431bc913fce3b58cf3fdb34fcb437aeb275cdf9007ab"}, + {file = "multidict-7.1.0-cp315-cp315-win32.whl", hash = "sha256:f376224572d1f5da1c871f969ab04765727f180e70d012d93e07bfc08442c64b"}, + {file = "multidict-7.1.0-cp315-cp315-win_amd64.whl", hash = "sha256:67fcf28db77b385820881521db7435e9f1c607cfaf07db6eb78aa9d1146bde86"}, + {file = "multidict-7.1.0-cp315-cp315-win_arm64.whl", hash = "sha256:c7aafa4dd2f702ee2198005d6cba4309c1e25ed1c201d77beddefa47411bead8"}, + {file = "multidict-7.1.0-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:1348ddc076251cd542f4a99ccda4b7c1f8444e8ab489d3541a978ca5901c7c1f"}, + {file = "multidict-7.1.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:9267bf8261a779abb2a6eab5f107f5db85b2d1745f2494081c731aaf28738ce3"}, + {file = "multidict-7.1.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:8a844b8b1685f38a2e8b2f3213b286e2a7abfe67508381780a0d4599ac337c1c"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:18a447d46a3a2f1e61b365cbf5627db7030fdb707dad70c4f2760e5144166ecc"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:88811f890db240a1c82bf0bcd52973763707a552c8113ac3fcebca183afb2fa8"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a60b720c329c0007feae692b7bf91cf17b3f9bd3727be96cc6f9a3336651041b"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b117ed1cd1a23df0902461c38093408b95971833dcee629112acda25b603c8d0"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bbcae7a54050b7ad7bc7bf425ba63dea7d2cd31a92246ba787a2ce69a9b98dbc"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4cba2b0b9235fe10e12301d6b4cfba0f353fa668d635f6e988b03623c2cd42ba"}, + {file = "multidict-7.1.0-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:535173fbcc3933d84f9929d49d7a59a0faec259ee07d07c34c7d2a980b4e3683"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:ea027bdeca1d7e498237634ee4e3a852e2723eef39996dec0ff0f77dff8a2336"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:507151e1e3dee95e9e8159e329aed4f75aa5205ecd6505a4f6be546890eafbe1"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:9c10791e9f5ef132effc8fdce2009482c1cfb26618c5fc1b7952a47dd5eb632e"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:f16ac8af2804855d3cae5fc3c5ab609c9fd0fc8ecacd92579c05ed3c173396fd"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:b78de22bae456a976f33df34d598dfd16edc9a03df8f4cc8b7c17bdba4c97b4a"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:db77888081431aaa69f3fd3480891746ddce6c2a571f6201869a24e2f06cf423"}, + {file = "multidict-7.1.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:c39dfcaa0bf23443474c0cb58d8d8aea9529c1841d99654cb38e4dada7b1948a"}, + {file = "multidict-7.1.0-cp315-cp315t-win32.whl", hash = "sha256:16b21164797bde6f417066d02775975cc2e15ab8abf80efa55fe85e0b4894020"}, + {file = "multidict-7.1.0-cp315-cp315t-win_amd64.whl", hash = "sha256:55392202cb374dd1a1f89a8ce1586644870d9e936752059d053e576acc50bc89"}, + {file = "multidict-7.1.0-cp315-cp315t-win_arm64.whl", hash = "sha256:f979a077d1c0a9a36dd4fab0d3a36b8de7b593bf935e13df85a380395b2c11ad"}, + {file = "multidict-7.1.0-py3-none-any.whl", hash = "sha256:d9ef29cfd98e17085b4f91bba8fa1570bec6787d5c52ce653ed33a58785585d0"}, + {file = "multidict-7.1.0.tar.gz", hash = "sha256:61a4e5d81b8d4e4ad61964b230129e7a2b914793d96289029078fc9009f074ec"}, ] [package.dependencies] @@ -1020,158 +1020,175 @@ files = [ [[package]] name = "pydantic" -version = "2.13.5" +version = "2.14.1" description = "Data validation using Python type hints" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" groups = ["main"] files = [ - {file = "pydantic-2.13.5-py3-none-any.whl", hash = "sha256:346a034f080da3755d8e9cb5e00e8b07de1d39e4f6e2c87d8ab7cafa0b269a73"}, - {file = "pydantic-2.13.5.tar.gz", hash = "sha256:51a9c5f7b2f8e636f04c6cada605d9b6a3bf1348fdf945a3d8869b19bba0ee08"}, + {file = "pydantic-2.14.1-py3-none-any.whl", hash = "sha256:9195d967ec791692a04438115466764fb8b9a27b31f14a760437694f40d6b454"}, + {file = "pydantic-2.14.1.tar.gz", hash = "sha256:94f478203dd03404682a1ada216965651dd74b1d2d5ffd62e00e0837caab5c26"}, ] [package.dependencies] annotated-types = ">=0.6.0" -pydantic-core = "2.46.5" -typing-extensions = ">=4.14.1" -typing-inspection = ">=0.4.2" +pydantic-core = "2.50.1" +typing-extensions = ">=4.16.0" +typing-inspection = ">=0.4.4" [package.extras] email = ["email-validator (>=2.0.0)"] -timezone = ["tzdata ; python_version >= \"3.9\" and platform_system == \"Windows\""] +timezone = ["tzdata ; platform_system == \"Windows\""] [[package]] name = "pydantic-core" -version = "2.46.5" +version = "2.50.1" description = "Core functionality for Pydantic validation and serialization" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" groups = ["main"] files = [ - {file = "pydantic_core-2.46.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:657b40d6240c0a7b6a64b30f22d1e3aa631c7e846c621b0c0f6d1d75e2e15ea6"}, - {file = "pydantic_core-2.46.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ecb42011e12ee19cafbc312887cbf3546959fe02fbad44f272d4be5baa997615"}, - {file = "pydantic_core-2.46.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4dedce55295becb61921e386b99d4f2706045306e7fa52249a33004c837379fb"}, - {file = "pydantic_core-2.46.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9f47b8a949e60f027f0aa0a6f6c7b7e9c55cbf4380d10b344e282fa4e7ab1e1b"}, - {file = "pydantic_core-2.46.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:200aa3dc9f8d54f0754f43247c0bad0999fdcfbfd2488384dd44f37279271fe6"}, - {file = "pydantic_core-2.46.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6d30e1a4f138b8951063e9a394752a9179b51da288ffa507b1e659222f4c1793"}, - {file = "pydantic_core-2.46.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:850a08d167dde16db8702c274f320c7be9d7da6f6dff2b58b18f9e815bd94f5b"}, - {file = "pydantic_core-2.46.5-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:c3471e5c4a949c26ec00a77f01df59096aa9495877de76fd60a980f8ee6be461"}, - {file = "pydantic_core-2.46.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3a3e26b6a8274211bddee2d0e4d0d42778f17a34510f49d2ec44b58abfc41736"}, - {file = "pydantic_core-2.46.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:fc5d783bd4a2387e97b8a2d5ec781cfb92b3d893bf82370548e99db5915935d3"}, - {file = "pydantic_core-2.46.5-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:356c8368cbc321050b169595683a2e1d63413b1e0e2868b330af9fc14c616d3f"}, - {file = "pydantic_core-2.46.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:eb7d8d0e5886a89a55d2eef490e272fa965a9d57c6b29a5b5088a7997ec2cad1"}, - {file = "pydantic_core-2.46.5-cp310-cp310-win32.whl", hash = "sha256:4d44cf99ddebf875f9b68cc267aa684c99b7b44fe63ee1cac4ec163807290069"}, - {file = "pydantic_core-2.46.5-cp310-cp310-win_amd64.whl", hash = "sha256:1e5aad1220a1192c42341c8fd4a8686657e73ab2a920c970bdc4de334fe3193d"}, - {file = "pydantic_core-2.46.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a1dee1b804ff4d11c663636cf15d2ea47e9f79cd56c033fb1cbf08924842a48f"}, - {file = "pydantic_core-2.46.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d625a186a65201c23a9e3b8ed9c47e90a026e03256608cc91851c6709096844f"}, - {file = "pydantic_core-2.46.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f8507560a9284e1370bb048ed4282012fbef4e8d109875b95e884d228552061"}, - {file = "pydantic_core-2.46.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f93c5fe914d75fbec9a49209b00da5f08e9e467d69da2b1510c81940cfd10be"}, - {file = "pydantic_core-2.46.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aca6c767f552b21b10f774aeac128e828eafb796adfa1b666a18bf6321453c3a"}, - {file = "pydantic_core-2.46.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:701b2e04b560eeb4bddf7a25ab8ca476176e34fdbd9a0e18196f0d12d4685f0b"}, - {file = "pydantic_core-2.46.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49776eab08766a08dfff7012f8b422dcd7e25e43b316eedf0477c24fcfa84b7c"}, - {file = "pydantic_core-2.46.5-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:a2468d93d181667a7abd66e1b64bb9f76f361b0fef8faddf687456453576f5ee"}, - {file = "pydantic_core-2.46.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:53feb344243bb9510a9dec7bf3cf1b64d88a98af5dc7872a5160465f8b198c8e"}, - {file = "pydantic_core-2.46.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:cd5214352ae68f3b5e9af7768bdc5253695ee069675db3480518420b3be881f2"}, - {file = "pydantic_core-2.46.5-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:9432f3598db432cb51c5b37fdbf29a60fcccc79e30d37a05022776a6bc4ab689"}, - {file = "pydantic_core-2.46.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8feeac04b5794e513e710af2f9c87d49f31a6dc47967bb264a1fed61a8989bec"}, - {file = "pydantic_core-2.46.5-cp311-cp311-win32.whl", hash = "sha256:892a881d5f68c2b9ea304b7a6c2c60d9343df578a311b0f86b94bc8f1ffe8129"}, - {file = "pydantic_core-2.46.5-cp311-cp311-win_amd64.whl", hash = "sha256:40375c2d05acec10323e45dfe2077ac44bc74659008614af5069034e2cfc781c"}, - {file = "pydantic_core-2.46.5-cp311-cp311-win_arm64.whl", hash = "sha256:28a6a556cd3b6066bea827857f9d9cce027c96f776e512f544a581f9e42161f8"}, - {file = "pydantic_core-2.46.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b9fe6fb92520e3fd61f2e49000b6911b188824f089b75973ea06d6267f0b476d"}, - {file = "pydantic_core-2.46.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a39ac25a9a2fa4072efdb429833c4a4c8009a51ff9eea3eeae131713cd27991e"}, - {file = "pydantic_core-2.46.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fdc8b93a41521988916eeaa271173fcca7fa0803d62f87675aac8dcec1c8e29"}, - {file = "pydantic_core-2.46.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b98134087d9de723658d17a42c7d0da8d6e2ef08015dee7dc93889047315f5e4"}, - {file = "pydantic_core-2.46.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e652ab17569c94bff5475520f907b7148b8c24036a8ebbe5cf7cf7493d28579a"}, - {file = "pydantic_core-2.46.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d925f3d9afd05a8c0fb3a1031463a8d59ebe5e2afad297e29c78be19e13b4e62"}, - {file = "pydantic_core-2.46.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fc5be0abd4a407e200d844b404e33639a554e7bd0d448e7b9ae181be4789ac2"}, - {file = "pydantic_core-2.46.5-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:816ff0a6550ffc06c098ccd2e0698600f9aa7da192a79eaa6f9af504a35db869"}, - {file = "pydantic_core-2.46.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c7ea57fc63aa7da93a1bd2d644e6577befae10c52c4e36377635eea1056a74f5"}, - {file = "pydantic_core-2.46.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:efd62a42486f1bda5d24cb4f63d15a3c7768375fe83d36f9417b4ad7a2fb20b3"}, - {file = "pydantic_core-2.46.5-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:2bc9419666990c06d7397831f2126a1ecc3594aaa3ff7de5bf2d066802f4e07b"}, - {file = "pydantic_core-2.46.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:18a09e1e1011b462f2e32774f25859ef1223d5c2b0546a633cf56654710721e0"}, - {file = "pydantic_core-2.46.5-cp312-cp312-win32.whl", hash = "sha256:5cb482e9e84c851f4e623fe4acc1ced89168cf1fe18f7089db4548c8f5bbb65b"}, - {file = "pydantic_core-2.46.5-cp312-cp312-win_amd64.whl", hash = "sha256:5e81740c09e310f5aa5cbd3e434a01c154d4bef93241c7877b39f211d2b78ba8"}, - {file = "pydantic_core-2.46.5-cp312-cp312-win_arm64.whl", hash = "sha256:f7b0ec93a2893de856652154d73b7ba622f26fa97726487dcac373de5f4c6084"}, - {file = "pydantic_core-2.46.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:b7ca9034437b6022f941f4857459562ee00a560b97e7cce8a0ec5a74fc6766e0"}, - {file = "pydantic_core-2.46.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f332f0e72a5a0400141f830744e141bf9f97917878dbe968669e8a7fefea78ff"}, - {file = "pydantic_core-2.46.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:193375f3548919d3f0b60936ca113ada3e38f264f91b9b8e0508efaad57be931"}, - {file = "pydantic_core-2.46.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:79bdfa52f843137045b2d081cc05c120ba6665d29b7559c2c47690906f39279f"}, - {file = "pydantic_core-2.46.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:24922243639cbdac66c75fcb6fd6495a9cb52b213d62f9a0d16f0310b1ff8038"}, - {file = "pydantic_core-2.46.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c76fe65e607be28c7fd4d56fc3c42b1583aa058ce3408b7ad0fd540171d31f9f"}, - {file = "pydantic_core-2.46.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f7b393a8b3da82f5c1fc0751e6d01ac6c55b93c18226a60bdfba4a724efafd1"}, - {file = "pydantic_core-2.46.5-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:7ac031912d54f3d83ef3b3eb98dfabc1608802e2202263d25957eeed40b94761"}, - {file = "pydantic_core-2.46.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:837b396ca3d7b74091ca623f6cbd8351bd42d670a79c2683e79fb089f06a2de5"}, - {file = "pydantic_core-2.46.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:5ee239d575f80b08eca11f6e20f90c4c695de7825c67eefe6091fbf20dda648e"}, - {file = "pydantic_core-2.46.5-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:e80675d75ae2cd14372cb65cad5400d9347a3d3f6c13000183f22dfd027283ed"}, - {file = "pydantic_core-2.46.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:9c4b71f10dd532fb7a5cbc8f58707779e64f03a258c2bf8bfbaecfcd9970b519"}, - {file = "pydantic_core-2.46.5-cp313-cp313-win32.whl", hash = "sha256:97bf8de4d541598c94a59344eeb988a94c08ff76b5723c41f6567ec18c7892ea"}, - {file = "pydantic_core-2.46.5-cp313-cp313-win_amd64.whl", hash = "sha256:15f4a94963c95accac15b7b657bb177d3ad82bb90b0d0526d9a9b85079925db5"}, - {file = "pydantic_core-2.46.5-cp313-cp313-win_arm64.whl", hash = "sha256:d22a945598fb91236b4dd793a6e42e4f3dd7740bb5aace5ebd7d4c08d13bb575"}, - {file = "pydantic_core-2.46.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:c1c43ad4339643d70ebb8124e1305a7dab423001eff58bb41a0f731adbc98355"}, - {file = "pydantic_core-2.46.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1a353f84de772f423b5ffb11d7ae352fbbef0f446f3c0b0af0f8236d7233606e"}, - {file = "pydantic_core-2.46.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5086029a57366b8cf81b130a43908738095c270c21a8d7f0e8bdfdb89718e2f3"}, - {file = "pydantic_core-2.46.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:46c25dda9d092a06c08db76ffe0a197107904d0dfac653f7d5306bbcd6d6119c"}, - {file = "pydantic_core-2.46.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:37ea7b83c935e5b0d68c9449b82651accf78a10828b2c02b2f2d9e9496446c21"}, - {file = "pydantic_core-2.46.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e64e88d5585bea9ce95861079de72006c7fa6d3df4e3a3b65ba31eb979c15c9f"}, - {file = "pydantic_core-2.46.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54d510bac3ee52247af28ed4bb18a1e799f040ac60fd2bf5ccd4c92f1fbe786f"}, - {file = "pydantic_core-2.46.5-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:a2a5e1d0ff29adddc9f6d6821a66302e4493f8ca898b715b6b1182c2c201ea0a"}, - {file = "pydantic_core-2.46.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:03b9666e41e35d8909852ba191a0607520f81b74eaf12ccf8737005dbb313821"}, - {file = "pydantic_core-2.46.5-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:a91c17edf6eea2402cb5457b4c89e99bc5ed1004aa34c4adf1d4258c1a5c22c2"}, - {file = "pydantic_core-2.46.5-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:b49924c73a235e969511bf2aabdff3beebf9820931f646c80274d5d780010c47"}, - {file = "pydantic_core-2.46.5-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:2cbd9a5eff05e51c447c34dfa4632145b26b09120cf04bd0c871e44c1a5e1c9a"}, - {file = "pydantic_core-2.46.5-cp314-cp314-win32.whl", hash = "sha256:2d5d76654becf5efd62c9e51c3756c67b49498b0c9a40884934c40807adbd074"}, - {file = "pydantic_core-2.46.5-cp314-cp314-win_amd64.whl", hash = "sha256:fa10ef4112775900e7a0661068635eb67b2ab824fbde764de6e0e21982a93db0"}, - {file = "pydantic_core-2.46.5-cp314-cp314-win_arm64.whl", hash = "sha256:045ab3b6d308439e32b81cc173bba5b9018bc6ed896afd0c65b3b009b1699af5"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:8816f3d218beb4b787de5c9759c259b8fa61f9dec42dc7811f320a33771778b7"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:bce57638e08ac148e5778cce7feb968307a727d66f8e2274a543d0cf0c9ad6a3"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:976e1128455aa595ea04c79ccfedff1aaeab96ee013fcc916bed120c4f0ad94f"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7b891faeedeafba41b2983e5001a81b6a915b69544c7e7570d1989ce1c36ac7"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5f194189415698233dd1114a093a9b56e61e2c57e11b469be3b0506f46f0771c"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82a36973cf8a2ef5406f4fe2edbf8ed0c99629535d959e0b100c76a32535a111"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdbb78909f52b981d3b2d56b97328d71eb0b974c36bd77c920123a7ebb192829"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:52e24eacdb536cade636aa90fb851835222becff8484b7001fdc78cb0290f2aa"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:37ae34309d7bd8c0d61ab839668058f2a7962ea1fc51d105d2db228fe0618034"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:0cdbada856a1c69a7624a64d3d9aefe79300bd6ef827b43a4f265010b9b55184"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:545f26c504b27c3758439a5e6d9349931f0a04f855668d5fe323c89e82300a38"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:ff218293c9c806138dca139765e3b067621be52bcd93cdc14c7711be7ddc90a9"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-win32.whl", hash = "sha256:97cf3eb53a8cccacf9d46686a0926186c9bfb5574f2ed66d3639d5fe117cd3a9"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-win_amd64.whl", hash = "sha256:d2f9fc07a8042a8f95925b35c4f04f469707c981fc33245b6ca187cf5d2dd290"}, - {file = "pydantic_core-2.46.5-cp314-cp314t-win_arm64.whl", hash = "sha256:acf8a67ba51f4ca9ddbd0e6b3000a65ac51ab734661778b3e7ba64d99a710f2f"}, - {file = "pydantic_core-2.46.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c583b927a8838dab890706a6fa7573fbb8b70e24000ef9f7238e2d6f6435a5ed"}, - {file = "pydantic_core-2.46.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cdc8b74ecc48c0cb1e9607a05ec4e9e88db60a19ffcc9a1d5f9088ede40c8dc0"}, - {file = "pydantic_core-2.46.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b10e3e8fd7ddc2bd915848a2768e44c15b22936f1cc54c462ad1164deb02655"}, - {file = "pydantic_core-2.46.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f077d0b97ab11fa7dcc633fca53515f290bca8a8a633e966d5b6d1879d9ed01a"}, - {file = "pydantic_core-2.46.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7b0fc826b16c55e561e5d2a0c5c77b051ba1d92808118c4e4b5390f5e0cf191d"}, - {file = "pydantic_core-2.46.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef3fbbf161dc9351a2fe0422e51b129f9e97e42385bd0320b309c15f7d287dd8"}, - {file = "pydantic_core-2.46.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:978e7b97d4824b5be09c69fb70507cbde3b0323fc147332ca40a94d9a6a0ebbf"}, - {file = "pydantic_core-2.46.5-cp39-cp39-manylinux_2_31_riscv64.whl", hash = "sha256:9b68938dd5b0c783d88ff8e2dcc69451b5eb936fe212d516b21b9d5567f6d464"}, - {file = "pydantic_core-2.46.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:771cf63ae0b1b50dd22e5f3e3549fab5f3f4ff1635d352a9e1a97fe01c7b2e64"}, - {file = "pydantic_core-2.46.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7c6be839a5a8312626b32029a415644a0846b420bc8b52b95b28cd92da162168"}, - {file = "pydantic_core-2.46.5-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:895395f8918627b04efb1ad2a4cf605387143300ba03304cd1dfa6d03f5e095e"}, - {file = "pydantic_core-2.46.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fc8515076c11f3cfdf4fb142dcca0fe384b1230a3b5415458ac84f3e0903ec13"}, - {file = "pydantic_core-2.46.5-cp39-cp39-win32.whl", hash = "sha256:3d2652072b2d774947ba5cf78a9e59644ac62ee572daf6dd2e1dfe905e15b2b7"}, - {file = "pydantic_core-2.46.5-cp39-cp39-win_amd64.whl", hash = "sha256:3aa166e99c4f2985407fb8714aebede877ecb5455cf321b606adca926d30d5a0"}, - {file = "pydantic_core-2.46.5-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:c14ad3bdc85ee7f318742c457ca3968a92126d144b15721c759033bfb06296c2"}, - {file = "pydantic_core-2.46.5-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:0bddb4020d8f04175865ccd17eff3040874fc11fb593f424edb452653b4b947c"}, - {file = "pydantic_core-2.46.5-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2471fd51c61c610e1dcf7de44d7299283661654d11264ab4802b303368d69c47"}, - {file = "pydantic_core-2.46.5-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b10ec717381bdbfafef34607824db4c91de69ff085e4fca3b2af91b4fa17e68a"}, - {file = "pydantic_core-2.46.5-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:013d6f3483d81e02e7c328831808f336c8596ee33b4bd4026b9ffb1e960b8942"}, - {file = "pydantic_core-2.46.5-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:e9c134bb666dd54b778b9fc0d2b50cbb7f979b9e3716f26a88c9ab3b6fc1dd0f"}, - {file = "pydantic_core-2.46.5-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:347ec774390c87326a2e4929d58d3f7e8763a104d5d35f4cd595a4c952366433"}, - {file = "pydantic_core-2.46.5-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e24d8f05fa2d28513d94e877e9c75ad66175376209b3977f916e240e623193c"}, - {file = "pydantic_core-2.46.5-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:ab4b66edffb32d9e951efb3814bd104b8367a7501b81b955cacb5726d897389f"}, - {file = "pydantic_core-2.46.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:337639ba62a11acde6ef3aeb08c8ea755f8ef1fe5e513356c0f36a2b0d7568b0"}, - {file = "pydantic_core-2.46.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:413a717a410d0c817ef5b786a059415550b3794e1d0c2abffd9efb93a3d9f7b4"}, - {file = "pydantic_core-2.46.5-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1e449def1945a462c464331254e5a44fca7c3b4f9aedf59ec2f50f8066dd8e25"}, - {file = "pydantic_core-2.46.5-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:a445486499897b88a7d6c310c88ed64dd37b1b59bfd7ae9107490bbb362f47d6"}, - {file = "pydantic_core-2.46.5-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:2d330aaba8621b1edcec8ae2c4050f63b84ccf6d98723a8f212e9684713abf0e"}, - {file = "pydantic_core-2.46.5-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b6acfb46a814762367fb7ba0828b0a17d441b92ce249a0e007474c9072662dda"}, - {file = "pydantic_core-2.46.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:d0a24b40877af2de4950252be9d21eaf7fb07660f3c2cae1f56c6b599ada5266"}, - {file = "pydantic_core-2.46.5.tar.gz", hash = "sha256:10416c15b8839ecc4ef4d0885da76da6fd0f67333a0eb8aff6d93c4b8f2910fc"}, + {file = "pydantic_core-2.50.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b281a3b0f0822618fe5e3e0d8a2048b6356b14388505dc9374ccffeb69989713"}, + {file = "pydantic_core-2.50.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1fa4c8bc12c1354c5550c0c35c1852c8c1901e89e06561724e03f8d0342e1f87"}, + {file = "pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3aa9de446b793de2beb6fa2d9d0961803126c4e2a99c2f25ab59b9fd6ea125c0"}, + {file = "pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:de531ce1e2a3364e8767878b58f4ff728a434b4fde089781fe30b1e08e2396e0"}, + {file = "pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7c58106de36ac6a56314182958de20db8d3a29dfd5db527192cc754e4f8e7fb"}, + {file = "pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8b4c3df25bd323bf1d36a648d563cf1fc69d717451569927151bdad7cad07a77"}, + {file = "pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f77ac30b19221cd9bd3fcfa3d4614eff93140d0572ab730cded17b64adca05f3"}, + {file = "pydantic_core-2.50.1-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:d939de9c82e2126f7f48a7e658f8a85ed46d57662d53f44c49b8895fe94a3eb7"}, + {file = "pydantic_core-2.50.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:30ddf019d082c117b5d309e5b86710c2a78909907ec1a9381feec3eec02eca0b"}, + {file = "pydantic_core-2.50.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2ab756b72bd5054e4c7ef3ded331b35786cbd3cf931531a508f79a9537517064"}, + {file = "pydantic_core-2.50.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:b087b1c5be7ac687cf22eabfe4b6b608d40df23610651e93611e1f49118baf84"}, + {file = "pydantic_core-2.50.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a44101320cfe99432db74237545a63057dc7a88dfe792cbcad0647f2af56cb81"}, + {file = "pydantic_core-2.50.1-cp310-cp310-win32.whl", hash = "sha256:a4aaaa791bdae1c972a7e81765f4f3571c926b8e0b9b6e47346499fb80079665"}, + {file = "pydantic_core-2.50.1-cp310-cp310-win_amd64.whl", hash = "sha256:2eedf82ee4753cdab8e50044c6bd569577eebc3859b11fecf4eb9223761ff966"}, + {file = "pydantic_core-2.50.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:c531166c42ea7bdfecc8c50049581f05dd1993b09cc7c52bb36a14e96deaec7d"}, + {file = "pydantic_core-2.50.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b6d0c2183008c188e19f4906d426b293bdc4f67ab17df8e180fe16cda208fa71"}, + {file = "pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94be440c03fede26969a5ce75468e0e6a9927a1b46d9b679ee8adc1b057b0350"}, + {file = "pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:36c426eac0af8d1529ff8467e612b933346caec1fdc0d774f78f67a1a11e16c1"}, + {file = "pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:028e2f212273d4a39b1ec1e0de8166b1165a65fc0f1111452a9d94fc7c625c63"}, + {file = "pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e6f0cc1bb9900dc558960894adeb30b0c083366fc1d69b856209fb2ca5c36fe5"}, + {file = "pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8812592c85d0edf423f10eadcef42716d71e8219085ad9e85b775057b7306133"}, + {file = "pydantic_core-2.50.1-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:bbce99252ba3167b2b6277f1829d5bf4b43b754524bddf7f944707c3db7d2253"}, + {file = "pydantic_core-2.50.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:476f6ed8e43cd1e0b460920e23571700872b284e77331cb30c4faf459cf48a4b"}, + {file = "pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2cbd1b75b09e976ed0d6b6ca297675632ca35df86130088457cdc60ef36970ae"}, + {file = "pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:5958c72adb417c39b12ac87525ac60b0d73315fcdc59e21f44ee4a5e2512c9ef"}, + {file = "pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d8f9e8a6c4ab04b78d61f78627370d834eb004b2869dcb28cfffa647b4ea1980"}, + {file = "pydantic_core-2.50.1-cp311-cp311-win32.whl", hash = "sha256:4be846f55c9477f5f3ddde8f2ce941137e16862a56d018ed885d422bb6ae02f2"}, + {file = "pydantic_core-2.50.1-cp311-cp311-win_amd64.whl", hash = "sha256:0048b6dddc8ef4b64fccaad878bd143b0c3882ea9936279dc11d613f6b7dd1bc"}, + {file = "pydantic_core-2.50.1-cp311-cp311-win_arm64.whl", hash = "sha256:6a733778df2f7087ec1100ed0b41533e4f3001976e99570fa34f57c66e7f8e3e"}, + {file = "pydantic_core-2.50.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:704075d10b74f2f3c6e15407c696d88701df35fc8953f434a431add0d0074db0"}, + {file = "pydantic_core-2.50.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e8e1d6ce820aa23317e8209a86bd65a540973c12dc7552b48a4f6c8e9926815e"}, + {file = "pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c18db21573bd2c6489f9a544b7499f0df2853958c568e5e783536ee1f690af41"}, + {file = "pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cb57f304525a5e3c13333b772bf9a473f36326e9c821b2e8e1b2fd36f80ae2c3"}, + {file = "pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a27c09d86600f1bf2fe3f37e1ae697faf3143931c09322cd799da94deee923b5"}, + {file = "pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:46b3301d3b5c886f77de7546e47274a5842c622ea2020b8c6524c6b66913b4a6"}, + {file = "pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93ba4e9d8210d941c200431a56b2c0400b131865947903937ed3ec5404307d2e"}, + {file = "pydantic_core-2.50.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:e5faeaee74a57d32b3ab3aebad2e348f06d3ba946fc5d28c1728455f00a3d13a"}, + {file = "pydantic_core-2.50.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a3cda0e538208e5d722bbf3698b24f19c0a7d05bc8d5f8a7f9b121ea7fa243d9"}, + {file = "pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:57f51b31ff826e2859120cf4737c5a758a48d96f3e97da40ccee1796d58078ff"}, + {file = "pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:8daa7ee75245d43ad7d747e5c9ecc1b1d06552f72b14887e9276f787d57375f4"}, + {file = "pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:acbf31f37c53a5ac0c34706c80b4f5107ba20b05fdd3816124bf236ef0c57dd2"}, + {file = "pydantic_core-2.50.1-cp312-cp312-win32.whl", hash = "sha256:45b11cac094aa25725581d9304eee93c9028516b9ea80dd9e175e13a5a2c840e"}, + {file = "pydantic_core-2.50.1-cp312-cp312-win_amd64.whl", hash = "sha256:132529c83901437ff642f585216831bf5fd7a91df66829907e155192ead62498"}, + {file = "pydantic_core-2.50.1-cp312-cp312-win_arm64.whl", hash = "sha256:4e834f6a8e4ff772dcc34f58ef5504147a3ea5b0f4eeb13b0f8eb2ca75ac57f1"}, + {file = "pydantic_core-2.50.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:d5e062c01286d861fd6a1c4ff6e063547b3e713067f2df033c0ff97ac2ca006b"}, + {file = "pydantic_core-2.50.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0c003c3b7f49debb893d2d85ae099ac5959c9839e2f330fadb1fcdf7a6594482"}, + {file = "pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:409e0ea40ec30d9158f33574fd758e689f6045a0f2596701828c27816ca9687d"}, + {file = "pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:131059670f1d2444269b8585cb888963994871932447c08b39ac6a51fcfef658"}, + {file = "pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dbcbee53bf17196a7f745aa9bf5a9603953a1e365b1f020be3207c676a3e7c4"}, + {file = "pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:325c23f3e35cfbf0fe3486fa5f7260d1e45885173002d30a28ca019994124255"}, + {file = "pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17e722e156d0444ecaefbe640bdb60928752bf2013e2b7a11cdb099aaae19bec"}, + {file = "pydantic_core-2.50.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:aa8224f10880d9bf1b5993988ba153d42a8b4f3f4f511f93b1f09c93ff613c72"}, + {file = "pydantic_core-2.50.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:41bc8237121bd8dc8d888dfd6279fc166ffc88c1f1bf3a8bf00869680533ca4c"}, + {file = "pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:45c6266d071c241f2a168d45bf8c54344f0effce35e7e6b73afdec11f3687568"}, + {file = "pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:1deeacb112d14d3f4fcb16b165f7dbaf76c70ba6e82f37ba042bdab51970a0b8"}, + {file = "pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:1c96fd793b73d1b92e65570132505498fe7b21eaef73cdf74e67e5dfba7ac9e4"}, + {file = "pydantic_core-2.50.1-cp313-cp313-win32.whl", hash = "sha256:06ead20d39ffd6f2f6f2a8f8a6de67ff8bb1b4f14a8a30e058502514ee2ac685"}, + {file = "pydantic_core-2.50.1-cp313-cp313-win_amd64.whl", hash = "sha256:7816e98acc08119dc0f340ab167048ecc54126316330c1f0caf7c6756c88e28f"}, + {file = "pydantic_core-2.50.1-cp313-cp313-win_arm64.whl", hash = "sha256:c17799a62c142d61b8a3c51752a7cbc87fe2ad4ccfab10e628a77b405075c662"}, + {file = "pydantic_core-2.50.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:1cf41f1ae3fa155cf167a72689ad044bcc1e3c97e064123677149bdfb5dafc4a"}, + {file = "pydantic_core-2.50.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4df197990c15b5a37c5a277d131d9f2c67de6133f2e5dafd80d9bba4b99f46f9"}, + {file = "pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0036473f5583e6a60e50b8b21651511564277a3f05cc5dab8cf579f552cd5f6c"}, + {file = "pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:992c3514ec891fa7858099183e4d64e6bd5a5d4ff452fae29df22faa77a006bb"}, + {file = "pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:739dc730e6be3bd5ec2f4ab5cfc7eb047cc45fc1497b3bafec74ff2ed07df597"}, + {file = "pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32fad3a91e51b6d2039c572db04a5a873260b399f6bd62c3552671fa7a4a2899"}, + {file = "pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42b54c2c90ad348b5e3a85e03e715d572c1fde357ef104cdfe3b03b697a404ea"}, + {file = "pydantic_core-2.50.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:2df1ff41884de2bc4b307bafd7c40a691094fad2ff8e767e5b45a319257bcf4e"}, + {file = "pydantic_core-2.50.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fe90228920fd8ff2be62622b6bb8a2b11acd65046d50c6b130614b5879605a20"}, + {file = "pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:844b869f118e22a41a091bdcedda8a71bc1b0f62c38d1a0c3211cece47e1d8fc"}, + {file = "pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:2eb75304506894a281d346220a4f7481a1b8729577c5ed2a05395991966a8396"}, + {file = "pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:6b20a4bffabdad0db2927ac034ae3b8a681b1f7a0182f3e60b479ad2fde21ebb"}, + {file = "pydantic_core-2.50.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:99ba9bc2b8062ea0c326a990f7f00e6530c23579de66dd246e72c4cafef950a5"}, + {file = "pydantic_core-2.50.1-cp314-cp314-win32.whl", hash = "sha256:cf356f70551d40374eaffb1aa63f1eb6d2006681cbd7a9faea173ce0f4dd7cd2"}, + {file = "pydantic_core-2.50.1-cp314-cp314-win_amd64.whl", hash = "sha256:d32f3acc081cc3923386d88f422cde8892335e95f034e0104bb4cf9310d9915f"}, + {file = "pydantic_core-2.50.1-cp314-cp314-win_arm64.whl", hash = "sha256:bed5163e03b98bc1fa2eb05d74c63d9c5c95d8ed6254985481640fbf5e237dea"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:9572c1369e9c9da2d64a7b7992c786d90ff295abc93964cfe3125e4290768070"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2005207aafe1231315718bf6ed5d064a7300fb4772754af35ee72fc68159492e"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64f6047f62a6c5ae08d0a6afb035667aa2d97c3d20d69762e034c5ea144d92a5"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ef800dd7d85bcdadf4c3076e4c94e43939493558a3b69a1ea830c706d4617bb"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b0135bcdcaa0f23573f286e4cb5e0fd2962700964ed13df085b85f2b97aeab9e"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0b3a6f334c6a2345ca15318ff894502a90012536404b37c844a976c76c846e0b"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06e01fbbfdb9be777b316a71b6c49efaf4a08b615d0a98d678cda3023f79d019"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:a29a061fec0b4e2d714f277e70a3a18125ecff803f2fea6eade2f2e53711d112"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f5187624823423e1d1b82b1072ac41dc837389e18d3d0572cc19bbee46cd550a"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:3e46a9eb0a0901dd6275e6b06ac3a464885ef350ec4121fe486869de8053e4bb"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:756d669f04e62ec4148ecfe22be6a4484d9b1181a6ef32e205ebfd200540858b"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:c516cc5367ca3448995d42cb994bf3f4c9002d2a7c22eac9622551269ad1b807"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-win32.whl", hash = "sha256:9d1bed94af6a63835461f3cf7502058eb166c58c4778e11d0f433cfb1bd69e19"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-win_amd64.whl", hash = "sha256:c8dce1f1e0e5358b682a6ad3fa5e31b31d4560997b8e61417e9217c8d60f8a0c"}, + {file = "pydantic_core-2.50.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ceff0acc940be2715bd6ad17b24c0e5304abf44f6efd0f81ee8499e640f9dc86"}, + {file = "pydantic_core-2.50.1-cp315-cp315-macosx_10_12_x86_64.whl", hash = "sha256:8a6791afa2245e6c6b180122d105941644f5bd410bb18623b408808cc41a3102"}, + {file = "pydantic_core-2.50.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:84f34323a61a365b4e9295de6028474754829aaddd59c7bf1a040e7487ef8f3c"}, + {file = "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23edad659e8dbd8ca7e4e877fe6c81573abbdf215bd25a68b53e1272f58b80c7"}, + {file = "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a5fce22f1e87d181e924e12da7d81cfe031fb3881a5ddf26ad28f141756ca43"}, + {file = "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c73622ef819328873b53109ee4f77ceb598bffedd02daf916102be3228866b78"}, + {file = "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce8c25ca38cc0e3d7753ba180808de2c0c8cb24eae0df64491e40921454e9831"}, + {file = "pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7689580e72a642ab5ec64d5f55b2e33636fa43b4ebe63c0c2c965ef307c7d1aa"}, + {file = "pydantic_core-2.50.1-cp315-cp315-manylinux_2_31_riscv64.whl", hash = "sha256:d5c0e32fdbce7f1e8ef4d11f655694bf5f4175c757a9f1dc2be09b8864e5bcf5"}, + {file = "pydantic_core-2.50.1-cp315-cp315-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40f523349960fa30f3ea51404308ff50f9997a90df639590f47a057c1f32b415"}, + {file = "pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_aarch64.whl", hash = "sha256:d4193206b6587047437f6f11d7e776df23e1c1e23af2a54d9347275614791e10"}, + {file = "pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_armv7l.whl", hash = "sha256:84bc765b282a9d5b7fe0348b8648904f25a6a04b2139da52b1dd30c8ac3a2c8f"}, + {file = "pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_x86_64.whl", hash = "sha256:ed1e728b39a383c81035b2459cfcb35d99dfb01f7d6ebe3a913bc1cc5b81e459"}, + {file = "pydantic_core-2.50.1-cp315-cp315-win32.whl", hash = "sha256:bc94f474417604bd383d2cd445d071b07dd55fedceed3ce33407bf1fcc107290"}, + {file = "pydantic_core-2.50.1-cp315-cp315-win_amd64.whl", hash = "sha256:983a662de2571cb2502fc8ff47b6770b03d025d2eb314c92f77b3f07c74720ed"}, + {file = "pydantic_core-2.50.1-cp315-cp315-win_arm64.whl", hash = "sha256:94845ff54dc5193f228cab81b2662a04bfbb892e95bdc15edf7399000ce57d54"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-macosx_10_12_x86_64.whl", hash = "sha256:4a53d13cdfbedbfa87f08b83c1a0a5efcc767d785a4b41934fa9cb672670493a"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:efbecf43d321f7b9281441f1f213f7c21c66988b0e06c2730ba13ed47a46bb08"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1f08f68dac9f9e83845a8039880aba2ab553eb9b2259c3243a313182c253fe"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5dfe41f232befddb9c4377f6cfc702b51595e2d78ed082672adf8758d2c4619f"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adc06d218a1cadfd2ec4628424d7d79ce4eba69c2965e7e7b55106f0da5208c8"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2cf91809d0721ab81592ba67bea7694821679c10b1a2e3c3460082b286c1918a"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23923ab9292c40da026330b1ecf4dc2618c8e86e0422e5d1fbf50d94d64ca4f8"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-manylinux_2_31_riscv64.whl", hash = "sha256:f3377c8c2b3ce898423c5e5dd94c7982e30aa7717a7e6ab2470b9de364963709"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:455a773617b5913bf5c20d0692e5787b119e52c4d40ea644ca31f5758fd31be2"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_aarch64.whl", hash = "sha256:1a9006395dece0e32e704c315eff8a00bede494f6108546cfc5539c89fef4f9a"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_armv7l.whl", hash = "sha256:d2d82aa62521c55ddfb000ae70f88cdd8de974078f6024e821dfe5addd0c818f"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_x86_64.whl", hash = "sha256:009634b83993777ddcd69cad0ffcace43dabde692109528e35f0fde91e386a8b"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-win32.whl", hash = "sha256:3fde4fdc6487a58d944ca87cf5adc95d5f266e872c19599f5f4c0a8a1b1f9f9f"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-win_amd64.whl", hash = "sha256:1c8632d4ac04e6f91128fca584b3a8a507d81604c24eeaaad00d4be42765c32b"}, + {file = "pydantic_core-2.50.1-cp315-cp315t-win_arm64.whl", hash = "sha256:c3ede305158e75510be50869b319550ab072008c13d64d4ab1e094fb286b6f44"}, + {file = "pydantic_core-2.50.1-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:062e891facce5ca296a1c37098e5e466780457f86413894b399f0cf22934f769"}, + {file = "pydantic_core-2.50.1-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:49c2cbb2397fe4d0987e84606e691af6cb87bc0ee1bd3e7b737f7e10b4c142f9"}, + {file = "pydantic_core-2.50.1-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e4472072de0137ee0d8e72d6620e85939c271d2f90f6bbb4b15c24638b79f92"}, + {file = "pydantic_core-2.50.1-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ed4f3cef55164b026fefb41341b7754cc6b624c75dfe7142d2ecceb5ad21c87"}, + {file = "pydantic_core-2.50.1-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:76e2e83fa6ec8cdc972d438dafc2522b3a47bee4ec0ae668b29cfb1977ab5242"}, + {file = "pydantic_core-2.50.1-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:a51eee75939cf811ac09b278745a6cee7dc873ccfbc8b9af3cc88fe4b7ce25b5"}, + {file = "pydantic_core-2.50.1-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae28183297fb0d2b8dc46a1f01d51f5e45825fc5afe76a835a6cb7fb34821295"}, + {file = "pydantic_core-2.50.1-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88e492e8b9d0312e7dc13667c30222abf284dc3b79b5302b3607b41a5784ce61"}, + {file = "pydantic_core-2.50.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7456d699b13954e9c0164dcb267250a10ae0dfb03e6e26d6796ab0d46e189c84"}, + {file = "pydantic_core-2.50.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0d955195bbbe489ad343fcc956eacea9357b79cb22192c66cacdefcbc14b32f"}, + {file = "pydantic_core-2.50.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2c634642694e6a0dad2ab1d375589fa671fd442edd5caf7d9737b8f6ca22906"}, + {file = "pydantic_core-2.50.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ee6db2fbed51a7991302e8fac498cd67e336246026d0dfa84cf5166ce1412760"}, + {file = "pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:79490e33c4c0fcb933bbbcfc3a62184d8803b99f535863dfbb925e1bcb6945ad"}, + {file = "pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:48569b0ade9edfbe065cad1d700175546592aebbb42f02adcebcc26e75b896fe"}, + {file = "pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:5f3cae32fc46121f787cb2486de9cf95a8bf72aec5cc78f64c606fa1735a6ef5"}, + {file = "pydantic_core-2.50.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:7f476456ac2bb0d937f75191494a09c83a30765fea4f70f3b404942fe25f6cdf"}, + {file = "pydantic_core-2.50.1.tar.gz", hash = "sha256:e50d7b94baac6c7d09927fa5ca5800a0c7ee5015c7fcff65beb3a1931b5a6e09"}, ] [package.dependencies] -typing-extensions = ">=4.14.1" +typing-extensions = ">=4.16.0" [[package]] name = "pygments" @@ -1311,60 +1328,78 @@ files = [ [[package]] name = "tomli" -version = "2.4.1" +version = "2.5.0" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" groups = ["dev"] markers = "python_version == \"3.10\"" files = [ - {file = "tomli-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f8f0fc26ec2cc2b965b7a3b87cd19c5c6b8c5e5f436b984e85f486d652285c30"}, - {file = "tomli-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ab97e64ccda8756376892c53a72bd1f964e519c77236368527f758fbc36a53a"}, - {file = "tomli-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96481a5786729fd470164b47cdb3e0e58062a496f455ee41b4403be77cb5a076"}, - {file = "tomli-2.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a881ab208c0baf688221f8cecc5401bd291d67e38a1ac884d6736cbcd8247e9"}, - {file = "tomli-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47149d5bd38761ac8be13a84864bf0b7b70bc051806bc3669ab1cbc56216b23c"}, - {file = "tomli-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ec9bfaf3ad2df51ace80688143a6a4ebc09a248f6ff781a9945e51937008fcbc"}, - {file = "tomli-2.4.1-cp311-cp311-win32.whl", hash = "sha256:ff2983983d34813c1aeb0fa89091e76c3a22889ee83ab27c5eeb45100560c049"}, - {file = "tomli-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ee18d9ebdb417e384b58fe414e8d6af9f4e7a0ae761519fb50f721de398dd4e"}, - {file = "tomli-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:c2541745709bad0264b7d4705ad453b76ccd191e64aa6f0fc66b69a293a45ece"}, - {file = "tomli-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c742f741d58a28940ce01d58f0ab2ea3ced8b12402f162f4d534dfe18ba1cd6a"}, - {file = "tomli-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7f86fd587c4ed9dd76f318225e7d9b29cfc5a9d43de44e5754db8d1128487085"}, - {file = "tomli-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff18e6a727ee0ab0388507b89d1bc6a22b138d1e2fa56d1ad494586d61d2eae9"}, - {file = "tomli-2.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:136443dbd7e1dee43c68ac2694fde36b2849865fa258d39bf822c10e8068eac5"}, - {file = "tomli-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5e262d41726bc187e69af7825504c933b6794dc3fbd5945e41a79bb14c31f585"}, - {file = "tomli-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5cb41aa38891e073ee49d55fbc7839cfdb2bc0e600add13874d048c94aadddd1"}, - {file = "tomli-2.4.1-cp312-cp312-win32.whl", hash = "sha256:da25dc3563bff5965356133435b757a795a17b17d01dbc0f42fb32447ddfd917"}, - {file = "tomli-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:52c8ef851d9a240f11a88c003eacb03c31fc1c9c4ec64a99a0f922b93874fda9"}, - {file = "tomli-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:f758f1b9299d059cc3f6546ae2af89670cb1c4d48ea29c3cacc4fe7de3058257"}, - {file = "tomli-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:36d2bd2ad5fb9eaddba5226aa02c8ec3fa4f192631e347b3ed28186d43be6b54"}, - {file = "tomli-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb0dc4e38e6a1fd579e5d50369aa2e10acfc9cace504579b2faabb478e76941a"}, - {file = "tomli-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7f2c7f2b9ca6bdeef8f0fa897f8e05085923eb091721675170254cbc5b02897"}, - {file = "tomli-2.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3c6818a1a86dd6dca7ddcaaf76947d5ba31aecc28cb1b67009a5877c9a64f3f"}, - {file = "tomli-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d312ef37c91508b0ab2cee7da26ec0b3ed2f03ce12bd87a588d771ae15dcf82d"}, - {file = "tomli-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51529d40e3ca50046d7606fa99ce3956a617f9b36380da3b7f0dd3dd28e68cb5"}, - {file = "tomli-2.4.1-cp313-cp313-win32.whl", hash = "sha256:2190f2e9dd7508d2a90ded5ed369255980a1bcdd58e52f7fe24b8162bf9fedbd"}, - {file = "tomli-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:8d65a2fbf9d2f8352685bc1364177ee3923d6baf5e7f43ea4959d7d8bc326a36"}, - {file = "tomli-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:4b605484e43cdc43f0954ddae319fb75f04cc10dd80d830540060ee7cd0243cd"}, - {file = "tomli-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fd0409a3653af6c147209d267a0e4243f0ae46b011aa978b1080359fddc9b6cf"}, - {file = "tomli-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a120733b01c45e9a0c34aeef92bf0cf1d56cfe81ed9d47d562f9ed591a9828ac"}, - {file = "tomli-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:559db847dc486944896521f68d8190be1c9e719fced785720d2216fe7022b662"}, - {file = "tomli-2.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01f520d4f53ef97964a240a035ec2a869fe1a37dde002b57ebc4417a27ccd853"}, - {file = "tomli-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7f94b27a62cfad8496c8d2513e1a222dd446f095fca8987fceef261225538a15"}, - {file = "tomli-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ede3e6487c5ef5d28634ba3f31f989030ad6af71edfb0055cbbd14189ff240ba"}, - {file = "tomli-2.4.1-cp314-cp314-win32.whl", hash = "sha256:3d48a93ee1c9b79c04bb38772ee1b64dcf18ff43085896ea460ca8dec96f35f6"}, - {file = "tomli-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:88dceee75c2c63af144e456745e10101eb67361050196b0b6af5d717254dddf7"}, - {file = "tomli-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:b8c198f8c1805dc42708689ed6864951fd2494f924149d3e4bce7710f8eb5232"}, - {file = "tomli-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:d4d8fe59808a54658fcc0160ecfb1b30f9089906c50b23bcb4c69eddc19ec2b4"}, - {file = "tomli-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7008df2e7655c495dd12d2a4ad038ff878d4ca4b81fccaf82b714e07eae4402c"}, - {file = "tomli-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d8591993e228b0c930c4bb0db464bdad97b3289fb981255d6c9a41aedc84b2d"}, - {file = "tomli-2.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:734e20b57ba95624ecf1841e72b53f6e186355e216e5412de414e3c51e5e3c41"}, - {file = "tomli-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8a650c2dbafa08d42e51ba0b62740dae4ecb9338eefa093aa5c78ceb546fcd5c"}, - {file = "tomli-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:504aa796fe0569bb43171066009ead363de03675276d2d121ac1a4572397870f"}, - {file = "tomli-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:b1d22e6e9387bf4739fbe23bfa80e93f6b0373a7f1b96c6227c32bef95a4d7a8"}, - {file = "tomli-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2c1c351919aca02858f740c6d33adea0c5deea37f9ecca1cc1ef9e884a619d26"}, - {file = "tomli-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eab21f45c7f66c13f2a9e0e1535309cee140182a9cdae1e041d02e47291e8396"}, - {file = "tomli-2.4.1-py3-none-any.whl", hash = "sha256:0d85819802132122da43cb86656f8d1f8c6587d54ae7dcaf30e90533028b49fe"}, - {file = "tomli-2.4.1.tar.gz", hash = "sha256:7c7e1a961a0b2f2472c1ac5b69affa0ae1132c39adcb67aba98568702b9cc23f"}, + {file = "tomli-2.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c4dc1c1781f2f716de763d1e9a7b34c6a894e167e291c7c5d16c72f7a9538545"}, + {file = "tomli-2.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:eff8babca5a7999bc137acbc7482a8b7e17ffca5075ab41f5d770ab408c7bfef"}, + {file = "tomli-2.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:86665cee9c4835b7a7f1e8ec2c719b5258d4dc782887aded5a8ae7352a96843b"}, + {file = "tomli-2.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d7e369fd63331746182360977b1892bfc215476a30d61612d732425311639f56"}, + {file = "tomli-2.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7ad1ea345759240d6463efa0ed1c704402752e49aa21476620738d74d72d8aa1"}, + {file = "tomli-2.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:96243987194634bd411066ce40c952e108f86af04db533ecd8ac3ff2a85b1885"}, + {file = "tomli-2.5.0-cp311-cp311-win32.whl", hash = "sha256:610b27d99f28ec5f191c7064a48f3ddb179a1fe6ca73d571483ae859f57b605e"}, + {file = "tomli-2.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:c804ae44fe7b4bab5da295e4f980a1ff04670bca9d23fe0a4e887e08ebd741a8"}, + {file = "tomli-2.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:cfac177ebd6236003846ea339981f71457cb6eb748f23381eb257e45092e3980"}, + {file = "tomli-2.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1f4a40d03fb9f63424f0979855bdeaf44dd7696b8d59501822c10ed30ba532df"}, + {file = "tomli-2.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9ebf8d19b17bd0daeb7b7dec81a946a439b753942fd0210d6e96c532249eea6b"}, + {file = "tomli-2.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf0b5e8e0f68ebb494356e577c06c139161efd8d3b9050f93b39b7c26cc54ff0"}, + {file = "tomli-2.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6cf74416bdc94ae458b14e37286c1073081850ac8459a00d0c5efef5d44294c6"}, + {file = "tomli-2.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:61ea1ebe1e55a34ea8199cc8dbff398d35027b82271c8ac4802fd3a1fd5b1bcc"}, + {file = "tomli-2.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ed53f7e89bb04f6d9e8e7799112360b0c4d5cbff067de0814c98c37c39b920f7"}, + {file = "tomli-2.5.0-cp312-cp312-win32.whl", hash = "sha256:e7ad033e27a516a233bea839cdb77b80146facb3b4f40bf02cd0cac165cdd5c2"}, + {file = "tomli-2.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:bd05de8c1698f8413dd7d869492693a0bf2211543b787ac78cd5e7536af1a6d7"}, + {file = "tomli-2.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:069435bd5480429b98c5e5afb02ab21c219b6f0064680671c6dc0d46817346ea"}, + {file = "tomli-2.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:943276cf269e0071948d9ff697159c1735e623c1151d88abb09b74659ef0cbea"}, + {file = "tomli-2.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:463b16086865b97facd8d0b3fb4cb7c544e3f58d2a69dc3113d6db9653fdb043"}, + {file = "tomli-2.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1245a6638fc4bb0a60af38a7d45413db34a13842027c77597c712c998c62fdf0"}, + {file = "tomli-2.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5d8bac3d603c97e6854424e5b2b5b741bdbde387e09f162fb0446812b4a8362b"}, + {file = "tomli-2.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:21e4cae4114aba25aa0d4f85cdf486d290fb35c0954d7bba536248da64d43066"}, + {file = "tomli-2.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bbaefc84548d754be821bba7c4141c4787dda182f9e77f2f87b71213529efa7b"}, + {file = "tomli-2.5.0-cp313-cp313-win32.whl", hash = "sha256:abdbf6313b8d9efe157edeb7ab6eae4de064b1300ad31abf73755154b30abe68"}, + {file = "tomli-2.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd4dc129784e0c5335bd4e61dfcc4487499a013419e655cf2da1d091b7e0efdc"}, + {file = "tomli-2.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:69491c143d2fe063046e0301e62a810bed338fa4d1ce0fd870c27dc1e09b0d84"}, + {file = "tomli-2.5.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d3182ee2d887e507bd67319a0a61105d1dd33facc111329559a233b772c1a105"}, + {file = "tomli-2.5.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:521345fd1f19d45b8df87657aaa38b6f2ca3800059fadf428e7ebf479a383646"}, + {file = "tomli-2.5.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e95c7614e705bfe2b04b27aa124adec59752d15813df37e2156747cab3a006b"}, + {file = "tomli-2.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7ac2027d37c3afbdf4bdd377f2676f6f1d2122a5be1f1137b49dced590b37e75"}, + {file = "tomli-2.5.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c414be4ed9d3cac80c42e348fa5a956117d1a48227f48026e31f59cb4a7671eb"}, + {file = "tomli-2.5.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9b03d7dc168353b4132965bde20feceabaa470e570c6f59660dfae59b1f9eeb3"}, + {file = "tomli-2.5.0-cp314-cp314-win32.whl", hash = "sha256:6f041843c4d3a37245c0c056fd955b186bf8b1fb85690cbe40b81230891dc34b"}, + {file = "tomli-2.5.0-cp314-cp314-win_amd64.whl", hash = "sha256:f4b653094e18f9031102d3a1da5c729c8f222d85225b18037dac621695e46e1a"}, + {file = "tomli-2.5.0-cp314-cp314-win_arm64.whl", hash = "sha256:3f89d10c1ff6a38d992c27fc8a4816af71a909e08a40ec66934240b1e74347c3"}, + {file = "tomli-2.5.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:e9e15b4a6c7dd6b85b5fbab29488a73f1f70de516942308daa266bf0e0aeb0d4"}, + {file = "tomli-2.5.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e12bbcd32897272fb05929110362ae9ff4c1b9bb26bd9e971e71dcd3275b4c3d"}, + {file = "tomli-2.5.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20aa36de8f2cf87237143bc1fa1aae8d6612c09118f4da21c6a684db5dd1f6f9"}, + {file = "tomli-2.5.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:22185fad8a1e622f064e78008018a0dd3323550dcb479cb7a1d296888d74024f"}, + {file = "tomli-2.5.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:984012f71908165449a951de2050d52f276bfe3aa5d5f570f63ddad814370374"}, + {file = "tomli-2.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f79203b3965b4000e91808aaa7c040206093f2b8bf86f455982f2274c9ccf442"}, + {file = "tomli-2.5.0-cp314-cp314t-win32.whl", hash = "sha256:91294a9fb94a75542f6e46e4a2ae709bd8d9b51134098cae5cf3bea5478b6d03"}, + {file = "tomli-2.5.0-cp314-cp314t-win_amd64.whl", hash = "sha256:f15e3e0b835a6d68b10c86bf80a3149780498d6911c93c3ffd1861d19f9200f1"}, + {file = "tomli-2.5.0-cp314-cp314t-win_arm64.whl", hash = "sha256:6664b7ae7af7294256c53960a6103077f4914cec8ff98479c352f622c6f6b2f0"}, + {file = "tomli-2.5.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:a525685c2f97da40762b8695eb7aa0af4c8344ca1905c73e4e29cb04d34607dc"}, + {file = "tomli-2.5.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:9dbb18c1cfb2f6517942fc9314437f66aa06d94436ffb1f06102ef3572f35276"}, + {file = "tomli-2.5.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:752e8b1aa6a4367ef8bf6a1a1e005540f7ed055ba36d7193796812ca5404eb52"}, + {file = "tomli-2.5.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c47300f9bf791808f77d82747691c4bb09cb14bdf3060cca99b42cdc4361d5a7"}, + {file = "tomli-2.5.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:19b0dd8749f4ea2f112c5fcfb3c5248390c899d7e2e173f1d91abee1fa0ff391"}, + {file = "tomli-2.5.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:57b1c3b01fab802e2899bc3d168dca320e14165e2fd9fd584760fb4ca5826859"}, + {file = "tomli-2.5.0-cp315-cp315-win32.whl", hash = "sha256:667e521b37a6c5ccaa044202c235b530f90177ffe2cd4a64ecc213c7dd535feb"}, + {file = "tomli-2.5.0-cp315-cp315-win_amd64.whl", hash = "sha256:d747252933c8a65ef6bd8da0fbb7ce28a90eb6119d8cd00772cd528aa07b68d5"}, + {file = "tomli-2.5.0-cp315-cp315-win_arm64.whl", hash = "sha256:75dbcde8751b0a960aa3de173aa5e894d590755c6d7758b7e774c06f1dc3cbdd"}, + {file = "tomli-2.5.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:2419c2a189551987b59d80e63ec355671283336f41c6b9b89462df679c7d0c57"}, + {file = "tomli-2.5.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:0dc598040da8d42cf20f0be588ed7004f46db12a0ac6c32e03a59dccedaaadcd"}, + {file = "tomli-2.5.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49096930c8d886c9bbdab62d2d0d17ce823ddeea522309a190b36245d5b49e01"}, + {file = "tomli-2.5.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8ade5023067f99fe72b88accd30d0ea05a158e9e32a11f124e731ea9695313f"}, + {file = "tomli-2.5.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:b69564772b5c8f22ea5f498dff08cfa825045b4d4c4400529000bdf818aa3b2a"}, + {file = "tomli-2.5.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:8ff3a2ca028c7eee0c777f9a092038d0a594a9fa04e215f929a22c329e2cb142"}, + {file = "tomli-2.5.0-cp315-cp315t-win32.whl", hash = "sha256:62fc1bc8eb03e3a9cadfca713d65614ed8e09d974a283295ffe3a831976b4dc5"}, + {file = "tomli-2.5.0-cp315-cp315t-win_amd64.whl", hash = "sha256:f3fcbc57b1791fa6cbe5d8434179d51de12be1a4811469529f47f6e7487a2571"}, + {file = "tomli-2.5.0-cp315-cp315t-win_arm64.whl", hash = "sha256:d2ba24db8a9376921b5e87b4762b9adb0f3f1deaea68f2b8b0bb2c11efb9c3e7"}, + {file = "tomli-2.5.0-py3-none-any.whl", hash = "sha256:32a7b79ac57a2e83670ce329ccf675798bc5a2094783a63676866b70503f2e2b"}, + {file = "tomli-2.5.0.tar.gz", hash = "sha256:264507556cd8b8c8e7c6ee037cdf443a463f03f4c958e57195e3d369711b8ff6"}, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index 77163907..bb9b1c0a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,10 @@ [project] name = "zep-cloud" dynamic = ["version"] -version = "4.0.0b1" [tool.poetry] name = "zep-cloud" -version = "4.0.0b1" +version = "4.0.0rc1" description = "" readme = "README.md" authors = [] diff --git a/reference.md b/reference.md index 1c724b43..ac980f73 100644 --- a/reference.md +++ b/reference.md @@ -114,6 +114,22 @@ client.agent.list()
+**order_by:** `typing.Optional[AgentListRequestOrderBy]` — Sort field + +
+
+ +
+
+ +**order:** `typing.Optional[AgentListRequestOrder]` — asc or desc + +
+
+ +
+
+ **agent_id:** `typing.Optional[str]` — Filters to the exact developer-assigned Agent identifier.
@@ -138,6 +154,17 @@ client.agent.list()
+**search:** `typing.Optional[str]` + +Filters to Agents whose name, Agent identifier, deployment identifier, +or deployment version contains this text. Matching is case-insensitive. + +
+
+ +
+
+ **status:** `typing.Optional[AgentStatus]` — Filters to lifecycle status. Omit to include every status.
@@ -365,7 +392,7 @@ client.agent.update(
-**memory_settings:** `typing.Optional[AgentMemorySettings]` — Replacement Agent Memory settings. Set to null to restore defaults. +**memory_settings:** `typing.Optional[AgentMemorySettings]` — Replacement Agent Skills settings. Set to null to restore defaults.
@@ -589,7 +616,7 @@ client.agent.get_context(
-**trajectory_uuid:** `typing.Optional[str]` +**trace_uuid:** `typing.Optional[str]`
@@ -2635,6 +2662,20 @@ client.graph.set_ontology(
+#### 📝 Description + +
+
+ +
+
+ +Edge search does not support node_labels or exclude_node_labels. An edge has two nodes, so a node label filter is not defined for edge search. To filter edges by node label, use graph.edge.list, graph.node.list_neighbors, or graph.get_subgraph. To search the edges of nodes that have a label, do these two steps. First, call graph.search_nodes with node_labels. Then, call graph.search_edges with connected_node_uuids set to the UUIDs of the returned nodes. +
+
+
+
+ #### 🔌 Usage
@@ -2679,7 +2720,7 @@ client.graph.search_edges(
-**request:** `SearchRequest` +**query:** `str` — The search query.
@@ -2703,6 +2744,52 @@ client.graph.search_edges(
+**bfs_origin_node_uuids:** `typing.Optional[typing.List[str]]` — Nodes used as BFS origins for graph-distance-aware retrieval. + +
+
+ +
+
+ +**center_node_uuid:** `typing.Optional[str]` + +The node to rank results by distance from. Required when reranker is +node_distance. + +
+
+ +
+
+ +**filters:** `typing.Optional[EdgeSearchFilters]` — Filters constraining which items are returned. + +
+
+ +
+
+ +**mmr_lambda:** `typing.Optional[float]` + +The diversity weighting used for maximal marginal relevance reranking. +Required when reranker is mmr. + +
+
+ +
+
+ +**reranker:** `typing.Optional[SearchEdgesRequestReranker]` — The reranking strategy applied to retrieved results. Defaults to rrf. + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -2803,6 +2890,20 @@ client.graph.search_episodes(
+#### 📝 Description + +
+
+ +
+
+ +Node search does not support edge_types, exclude_edge_types, edge_uuids, connected_node_uuids, source_node_uuids, or target_node_uuids. These filters select edges. To get the nodes that an edge connects, use graph.search_edges or graph.node.list_neighbors. +
+
+
+
+ #### 🔌 Usage
@@ -2847,7 +2948,7 @@ client.graph.search_nodes(
-**request:** `SearchRequest` +**query:** `str` — The search query.
@@ -2871,6 +2972,52 @@ client.graph.search_nodes(
+**bfs_origin_node_uuids:** `typing.Optional[typing.List[str]]` — Nodes used as BFS origins for graph-distance-aware retrieval. + +
+
+ +
+
+ +**center_node_uuid:** `typing.Optional[str]` + +The node to rank results by distance from. Required when reranker is +node_distance. + +
+
+ +
+
+ +**filters:** `typing.Optional[NodeSearchFilters]` — Filters constraining which items are returned. + +
+
+ +
+
+ +**mmr_lambda:** `typing.Optional[float]` + +The diversity weighting used for maximal marginal relevance reranking. +Required when reranker is mmr. + +
+
+ +
+
+ +**reranker:** `typing.Optional[SearchNodesRequestReranker]` — The reranking strategy applied to retrieved results. Defaults to rrf. + +
+
+ +
+
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
@@ -3351,6 +3498,20 @@ client.project.get()
+#### 📝 Description + +
+
+ +
+
+ +Set `hyperedges_enabled` to `true` to enable extraction. A member needs the `project.edit` permission. Project API keys receive `403 permission_denied`. +
+
+
+
+ #### 🔌 Usage
@@ -3395,6 +3556,17 @@ value.
+**hyperedges_enabled:** `typing.Optional[bool]` + +Set to true to enable hyperedge extraction. This setting cannot be disabled. +A member needs project.edit. Project API keys receive 403 permission_denied. + +
+
+ +
+
+ **include_policy_violating_episodes:** `typing.Optional[bool]` When true, episode reads on graphs with a content policy include the @@ -5075,7 +5247,7 @@ client.trace_connection.list()
-Verify the provider credential before Zep stores it. Example request: `{"name":"Support traces","provider":"braintrust","credential":"secret","requests_per_minute":10}`. +Verify a provider credential before Zep stores it. Both providers accept 1 to 60 requests per minute and an optional retention window. Example requests: `{"name":"Support traces","provider":"braintrust","credential":"secret","requests_per_minute":60,"retention_days":30}` and `{"name":"Support traces","provider":"langsmith","credential":"secret","requests_per_minute":60,"retention_days":30}`.
@@ -5138,7 +5310,7 @@ client.trace_connection.create()
-**provider:** `typing.Optional[str]` — Provider is the provider name. +**provider:** `typing.Optional[CreateTraceConnectionRequestProvider]` — Provider is the Braintrust or LangSmith provider.
@@ -5146,7 +5318,7 @@ client.trace_connection.create()
-**requests_per_minute:** `typing.Optional[int]` — RequestsPerMinute is the provider request rate limit. +**requests_per_minute:** `typing.Optional[int]` — RequestsPerMinute is the request rate limit from 1 to 60 per minute.
@@ -5154,7 +5326,7 @@ client.trace_connection.create()
-**retention_days:** `typing.Optional[int]` — RetentionDays is an optional provider retention window. +**retention_days:** `typing.Optional[int]` — RetentionDays is an optional retention window in days.
@@ -5259,7 +5431,7 @@ client.trace_connection.get(
-Delete a trace connection that no active trajectory import uses. +Delete a trace connection that no active trace import uses.
@@ -5332,7 +5504,7 @@ client.trace_connection.delete(
-Verify changed provider settings before Zep stores them. Example request: `{"credential":"new-secret","requests_per_minute":20}`. +Verify changed settings before Zep stores them. Both providers accept 1 to 60 requests per minute and an optional retention window. Example request: `{"requests_per_minute":60,"retention_days":30}`.
@@ -5405,7 +5577,7 @@ client.trace_connection.update(
-**requests_per_minute:** `typing.Optional[int]` — RequestsPerMinute is the new provider request rate limit, when supplied. +**requests_per_minute:** `typing.Optional[int]` — RequestsPerMinute is the new request rate limit, when supplied.
@@ -5413,7 +5585,7 @@ client.trace_connection.update(
-**retention_days:** `typing.Optional[int]` — RetentionDays is the new provider retention window, when supplied. +**retention_days:** `typing.Optional[int]` — RetentionDays is the new retention window in days, when supplied.
@@ -5519,7 +5691,7 @@ client.trace_connection.verify(
-Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. +Requires attribute-based access control to be enabled for your account.
@@ -5600,7 +5772,7 @@ client.user_group.create(
-Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. +Requires attribute-based access control to be enabled for your account.
@@ -5687,7 +5859,7 @@ client.user_group.list()
-Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. +Requires attribute-based access control to be enabled for your account.
@@ -5760,7 +5932,7 @@ client.user_group.get(
-Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. +Requires attribute-based access control to be enabled for your account.
@@ -5833,7 +6005,7 @@ client.user_group.delete(
-Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. +Requires attribute-based access control to be enabled for your account.
@@ -5930,7 +6102,7 @@ client.user_group.update(
-Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. +Requires attribute-based access control to be enabled for your account.
@@ -6027,7 +6199,7 @@ client.user_group.list_member_candidates(
-Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. +Requires attribute-based access control to be enabled for your account.
@@ -6111,7 +6283,7 @@ client.user_group.add_members(
-Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. +Requires attribute-based access control to be enabled for your account.
@@ -6208,7 +6380,7 @@ client.user_group.list_members(
-Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. +Requires attribute-based access control to be enabled for your account.
@@ -6292,7 +6464,7 @@ client.user_group.remove_members(
-Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. +Requires attribute-based access control to be enabled for your account.
@@ -6374,7 +6546,7 @@ client.user_group.remove_member(
-Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. +Requires attribute-based access control to be enabled for your account.
@@ -8247,8 +8419,8 @@ client.agent.split.plan(
-## Agent Trajectory -
client.agent.trajectory.create(...) -> AgentTrajectory +## Agent TaskFamily +
client.agent.task_family.list(...) -> AgentTaskFamilyDescriptorPage
@@ -8269,10 +8441,8 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.create( +client.agent.task_family.list( agent_uuid="agent_uuid", - objective="objective", - task_family="task_family", ) ``` @@ -8297,39 +8467,7 @@ client.agent.trajectory.create(
-**objective:** `str` — The task-instance objective captured for this attempt. - -
-
- -
-
- -**task_family:** `str` — The task-family slug. - -
-
- -
-
- -**learn_from:** `typing.Optional[bool]` — Whether eligible evidence may participate in learning. Defaults to true. - -
-
- -
-
- -**metadata:** `typing.Optional[typing.Dict[str, typing.Any]]` — Developer metadata used to organize and filter Trajectories. - -
-
- -
-
- -**parent_trajectory_uuid:** `typing.Optional[str]` — The parent Trajectory UUID when this attempt retries an earlier attempt. +**limit:** `typing.Optional[int]` — Page size (maximum 100)
@@ -8337,7 +8475,7 @@ client.agent.trajectory.create(
-**trajectory_id:** `typing.Optional[str]` — The optional customer-assigned identifier, unique within the Agent. +**cursor:** `typing.Optional[str]` — Opaque page cursor
@@ -8357,7 +8495,7 @@ client.agent.trajectory.create(
-
client.agent.trajectory.list(...) -> AgentTrajectoryPage +
client.agent.task_family.rename(...) -> RenameAgentTaskFamilyResponse
@@ -8378,8 +8516,10 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.list( +client.agent.task_family.rename( agent_uuid="agent_uuid", + from_slug="from_slug", + to_slug="to_slug", ) ``` @@ -8404,31 +8544,7 @@ client.agent.trajectory.list(
-**limit:** `typing.Optional[int]` — Page size (maximum 100) - -
-
- -
-
- -**cursor:** `typing.Optional[str]` — Opaque page cursor - -
-
- -
-
- -**import_uuid:** `typing.Optional[str]` — Filter by owning Trajectory import UUID - -
-
- -
-
- -**source_kind:** `typing.Optional[TrajectoryListRequestSourceKind]` — Source kind +**from_slug:** `str` — The current slug of the live descriptor.
@@ -8436,7 +8552,7 @@ client.agent.trajectory.list(
-**metadata:** `typing.Optional[typing.Dict[str, typing.Any]]` — Filters to Trajectories whose metadata contains these key-value pairs. +**to_slug:** `str` — The new slug, or the slug of the live descriptor to merge into.
@@ -8444,62 +8560,37 @@ client.agent.trajectory.list(
-**outcome:** `typing.Optional[AgentTrajectoryOutcome]` — Filters to one reported outcome. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
- -
-
- -**parent_trajectory_uuid:** `typing.Optional[str]` — Filters to direct retries of this parent Trajectory. -
-
-
-**status:** `typing.Optional[AgentTrajectoryLifecycle]` — Filters to one lifecycle state. -
+
+## Agent TraceImport +
client.agent.trace_import.list(...) -> TraceImportPage
-**task_family:** `typing.Optional[str]` — Filters to an exact task-family slug. - -
-
+#### 📝 Description
-**verification:** `typing.Optional[AgentTrajectoryVerification]` — Filters to one verification strength. - -
-
-
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - +List trace imports that belong to this Agent.
- - -
- - -
client.agent.trajectory.get(...) -> AgentTrajectory -
-
- #### 🔌 Usage
@@ -8517,9 +8608,8 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.get( +client.agent.trace_import.list( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", ) ``` @@ -8544,7 +8634,15 @@ client.agent.trajectory.get(
-**trajectory_uuid:** `str` — Trajectory UUID +**limit:** `typing.Optional[int]` — Page size + +
+
+ +
+
+ +**cursor:** `typing.Optional[str]` — Opaque page cursor
@@ -8564,10 +8662,24 @@ client.agent.trajectory.get(
-
client.agent.trajectory.delete(...) -> AgentTrajectorySourceDeletionResult +
client.agent.trace_import.create(...) -> TraceImport +
+
+ +#### 📝 Description + +
+
+
+Create a scheduled import or queue a one-time import. Example request: `{"connection_uuid":"8c78a85e-eac2-4f57-b5f5-59a68a1e77a1","provider_project_id":"project-123","name":"Support traces","selection":{"trace_ids":["trace-123"]},"mapping":{"task_family":{"source":"fixed","value":"support"}}}`. +
+
+
+
+ #### 🔌 Usage
@@ -8585,10 +8697,8 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.delete( +client.agent.trace_import.create( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", - expected_revision=1, ) ``` @@ -8613,7 +8723,7 @@ client.agent.trajectory.delete(
-**trajectory_uuid:** `str` — Trajectory UUID +**connection_uuid:** `typing.Optional[str]` — ConnectionUUID identifies the project trace connection.
@@ -8621,7 +8731,7 @@ client.agent.trajectory.delete(
-**request:** `DeleteAgentTrajectoryRequest` +**learn_from:** `typing.Optional[bool]` — LearnFrom controls whether imported evidence can support Skills.
@@ -8629,60 +8739,31 @@ client.agent.trajectory.delete(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**mapping:** `typing.Optional[TraceMapping]` — Mapping defines how source traces become Traces. Example: {"task_family":{"source":"fixed","value":"support"}}.
-
-
- - - -
- -
client.agent.trajectory.update(...) -> AgentTrajectory
-#### 🔌 Usage - -
-
+**name:** `typing.Optional[str]` — Name is the import display name. + +
+
-```python -from zep_cloud import Zep -from zep_cloud.environment import ZepEnvironment - -client = Zep( - api_key="", - environment=ZepEnvironment.DEFAULT, -) - -client.agent.trajectory.update( - agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", - expected_revision=1, -) - -``` -
-
+**on_source_change:** `typing.Optional[str]` — OnSourceChange defines how changed source traces are handled. +
-#### ⚙️ Parameters -
-
-
- -**agent_uuid:** `str` — Agent UUID +**provider_project_id:** `typing.Optional[str]` — ProviderProjectID is the source provider project identifier.
@@ -8690,7 +8771,7 @@ client.agent.trajectory.update(
-**trajectory_uuid:** `str` — Trajectory UUID +**require_review:** `typing.Optional[bool]` — RequireReview requires review for candidates backed by this import.
@@ -8698,7 +8779,7 @@ client.agent.trajectory.update(
-**expected_revision:** `int` — The current Trajectory revision used for optimistic concurrency. +**schedule:** `typing.Optional[TraceImportSchedule]` — Schedule enables recurring imports when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}.
@@ -8706,7 +8787,7 @@ client.agent.trajectory.update(
-**task_family:** `typing.Optional[str]` — Replacement task-family slug. Set to null to clear it. +**selection:** `typing.Optional[TraceImportSelection]` — Selection defines the traces to import. Example: {"trace_ids":["trace_123"]}.
@@ -8726,10 +8807,24 @@ client.agent.trajectory.update(
-
client.agent.trajectory.abandon(...) -> AgentTrajectoryFinalizationResult +
client.agent.trace_import.get(...) -> TraceImport +
+
+ +#### 📝 Description +
+
+
+ +Read one trace import. The response does not include its source cursor. +
+
+
+
+ #### 🔌 Usage
@@ -8747,10 +8842,9 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.abandon( +client.agent.trace_import.get( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", - highest_accepted_sequence=1, + import_uuid="import_uuid", ) ``` @@ -8775,7 +8869,7 @@ client.agent.trajectory.abandon(
-**trajectory_uuid:** `str` — Trajectory UUID +**import_uuid:** `str` — Trace import UUID
@@ -8783,31 +8877,73 @@ client.agent.trajectory.abandon(
-**highest_accepted_sequence:** `int` +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
+ + + + +
+
client.agent.trace_import.delete(...) -> typing.Optional[Task]
-**assertion_uuid:** `typing.Optional[str]` - +#### 📝 Description + +
+
+ +
+
+ +Set `traces=delete` to queue asynchronous Trace deletion. The default keeps Traces. Example query: `?traces=delete`. +
+
+#### 🔌 Usage +
-**expected_revision:** `typing.Optional[int]` - +
+
+ +```python +from zep_cloud import Zep +from zep_cloud.environment import ZepEnvironment + +client = Zep( + api_key="", + environment=ZepEnvironment.DEFAULT, +) + +client.agent.trace_import.delete( + agent_uuid="agent_uuid", + import_uuid="import_uuid", +) + +``` +
+
+#### ⚙️ Parameters +
-**missing_sequence_ranges:** `typing.Optional[typing.List[AgentTrajectorySequenceRange]]` +
+
+ +**agent_uuid:** `str` — Agent UUID
@@ -8815,7 +8951,7 @@ client.agent.trajectory.abandon(
-**reason:** `typing.Optional[str]` +**import_uuid:** `str` — Trace import UUID
@@ -8823,7 +8959,7 @@ client.agent.trajectory.abandon(
-**verification:** `typing.Optional[AgentTrajectoryVerification]` +**traces:** `typing.Optional[TraceImportDeleteRequestTraces]` — Whether to delete imported Traces
@@ -8843,10 +8979,24 @@ client.agent.trajectory.abandon(
-
client.agent.trajectory.close(...) -> AgentTrajectoryFinalizationResult +
client.agent.trace_import.update(...) -> TraceImport +
+
+ +#### 📝 Description +
+
+
+ +Use `expected_revision` to reject a stale update. Example request: `{"expected_revision":1,"name":"Updated support traces"}`. +
+
+
+
+ #### 🔌 Usage
@@ -8864,9 +9014,9 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.close( +client.agent.trace_import.update( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + import_uuid="import_uuid", ) ``` @@ -8891,7 +9041,7 @@ client.agent.trajectory.close(
-**trajectory_uuid:** `str` — Trajectory UUID +**import_uuid:** `str` — Trace import UUID
@@ -8899,7 +9049,7 @@ client.agent.trajectory.close(
-**closing_sequence:** `typing.Optional[int]` +**expected_revision:** `typing.Optional[int]` — ExpectedRevision is the current import revision.
@@ -8907,7 +9057,7 @@ client.agent.trajectory.close(
-**expected_revision:** `typing.Optional[int]` +**learn_from:** `typing.Optional[bool]` — LearnFrom is the new learning setting, when supplied.
@@ -8915,7 +9065,7 @@ client.agent.trajectory.close(
-**missing_sequence_ranges:** `typing.Optional[typing.List[AgentTrajectorySequenceRange]]` +**mapping:** `typing.Optional[TraceMapping]` — Mapping is the new mapping, when supplied. Example: {"task_family":{"source":"fixed","value":"support"}}.
@@ -8923,7 +9073,7 @@ client.agent.trajectory.close(
-**outcome:** `typing.Optional[AgentTrajectoryOutcome]` +**name:** `typing.Optional[str]` — Name is the new import name, when supplied.
@@ -8931,7 +9081,7 @@ client.agent.trajectory.close(
-**reason:** `typing.Optional[str]` +**on_source_change:** `typing.Optional[str]` — OnSourceChange is the new change policy, when supplied.
@@ -8939,7 +9089,7 @@ client.agent.trajectory.close(
-**verification:** `typing.Optional[AgentTrajectoryVerification]` +**require_review:** `typing.Optional[bool]` — RequireReview is the new review setting, when supplied.
@@ -8947,7 +9097,7 @@ client.agent.trajectory.close(
-**verifier:** `typing.Optional[AgentTrajectoryCloseVerifier]` +**schedule:** `typing.Optional[TraceImportSchedule]` — Schedule is the new schedule, when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}.
@@ -8955,7 +9105,7 @@ client.agent.trajectory.close(
-**verifier_id:** `typing.Optional[str]` +**selection:** `typing.Optional[TraceImportSelection]` — Selection is the new selection, when supplied. Example: {"trace_ids":["trace_123"]}.
@@ -8975,10 +9125,24 @@ client.agent.trajectory.close(
-
client.agent.trajectory.correct_task_family(...) -> AgentTrajectoryFinalizationResult +
client.agent.trace_import.pause(...) -> TraceImport +
+
+ +#### 📝 Description + +
+
+
+Pause a scheduled trace import. One-time imports cannot be paused. +
+
+
+
+ #### 🔌 Usage
@@ -8996,11 +9160,9 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.correct_task_family( +client.agent.trace_import.pause( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", - expected_revision=1, - reason="reason", + import_uuid="import_uuid", ) ``` @@ -9025,7 +9187,7 @@ client.agent.trajectory.correct_task_family(
-**trajectory_uuid:** `str` — Trajectory UUID +**import_uuid:** `str` — Trace import UUID
@@ -9033,45 +9195,35 @@ client.agent.trajectory.correct_task_family(
-**expected_revision:** `int` — The current Trajectory revision used for optimistic concurrency. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
+
+
-
-
-**reason:** `str` — Why the terminal Trajectory classification is being corrected. -
+
+
client.agent.trace_import.resume(...) -> TraceImport
-**task_family:** `typing.Optional[str]` — Replacement task-family slug. Set to null to clear it. - -
-
+#### 📝 Description
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. - -
-
+
+
+ +Resume a scheduled trace import. Zep verifies credentials first when they caused the pause.
- - -
- -
client.agent.trajectory.list_events(...) -> AgentTrajectoryEventPage -
-
#### 🔌 Usage @@ -9090,9 +9242,9 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.list_events( +client.agent.trace_import.resume( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + import_uuid="import_uuid", ) ``` @@ -9117,23 +9269,7 @@ client.agent.trajectory.list_events(
-**trajectory_uuid:** `str` — Trajectory UUID - -
-
- -
-
- -**limit:** `typing.Optional[int]` — Page size (maximum 100) - -
-
- -
-
- -**cursor:** `typing.Optional[str]` — Opaque page cursor +**import_uuid:** `str` — Trace import UUID
@@ -9153,7 +9289,8 @@ client.agent.trajectory.list_events(
-
client.agent.trajectory.append_event(...) -> AgentTrajectoryEvent +## Agent Trace +
client.agent.trace.create(...) -> AgentTrace
@@ -9174,10 +9311,9 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.append_event( +client.agent.trace.create( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", - event_type="input_reference", + objective="objective", ) ``` @@ -9202,23 +9338,7 @@ client.agent.trajectory.append_event(
-**trajectory_uuid:** `str` — Trajectory UUID - -
-
- -
-
- -**event_type:** `AgentTrajectoryEventType` - -
-
- -
-
- -**content:** `typing.Optional[str]` +**objective:** `str` — The task-instance objective captured for this attempt.
@@ -9226,7 +9346,7 @@ client.agent.trajectory.append_event(
-**context:** `typing.Optional[AgentTrajectoryEventContext]` +**learn_from:** `typing.Optional[bool]` — Whether eligible evidence may participate in learning. Defaults to true.
@@ -9234,7 +9354,7 @@ client.agent.trajectory.append_event(
-**event_id:** `typing.Optional[str]` +**metadata:** `typing.Optional[typing.Dict[str, typing.Any]]` — Developer metadata used to organize and filter Traces.
@@ -9242,7 +9362,7 @@ client.agent.trajectory.append_event(
-**metadata:** `typing.Optional[typing.Dict[str, typing.Any]]` +**parent_trace_uuid:** `typing.Optional[str]` — The parent Trace UUID when this attempt retries an earlier attempt.
@@ -9250,15 +9370,10 @@ client.agent.trajectory.append_event(
-**occurred_at:** `typing.Optional[str]` - -
-
- -
-
+**task_family:** `typing.Optional[str]` -**sequence:** `typing.Optional[int]` +The task-family slug. Optional when inferred task families are enabled +for the account: the service assigns one after the Trace closes.
@@ -9266,7 +9381,7 @@ client.agent.trajectory.append_event(
-**sources:** `typing.Optional[typing.List[AgentTrajectoryEventSource]]` +**trace_id:** `typing.Optional[str]` — The optional customer-assigned identifier, unique within the Agent.
@@ -9286,7 +9401,7 @@ client.agent.trajectory.append_event(
-
client.agent.trajectory.delete_event(...) -> AgentTrajectorySourceDeletionResult +
client.agent.trace.list(...) -> AgentTracePage
@@ -9307,11 +9422,8 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.delete_event( +client.agent.trace.list( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", - event_uuid="event_uuid", - expected_revision=1, ) ``` @@ -9336,7 +9448,7 @@ client.agent.trajectory.delete_event(
-**trajectory_uuid:** `str` — Trajectory UUID +**limit:** `typing.Optional[int]` — Page size (maximum 100)
@@ -9344,7 +9456,71 @@ client.agent.trajectory.delete_event(
-**event_uuid:** `str` — Event UUID +**cursor:** `typing.Optional[str]` — Opaque page cursor + +
+
+ +
+
+ +**order_by:** `typing.Optional[TraceListRequestOrderBy]` — Sort field + +
+
+ +
+
+ +**order:** `typing.Optional[TraceListRequestOrder]` — asc or desc + +
+
+ +
+
+ +**import_uuid:** `typing.Optional[str]` — Filter by owning Trace import UUID + +
+
+ +
+
+ +**source_kind:** `typing.Optional[TraceListRequestSourceKind]` — Source kind + +
+
+ +
+
+ +**metadata:** `typing.Optional[typing.Dict[str, typing.Any]]` — Filters to Traces whose metadata contains these key-value pairs. + +
+
+ +
+
+ +**outcome:** `typing.Optional[AgentTraceOutcome]` — Filters to one reported outcome. + +
+
+ +
+
+ +**parent_trace_uuid:** `typing.Optional[str]` — Filters to direct retries of this parent Trace. + +
+
+ +
+
+ +**status:** `typing.Optional[AgentTraceLifecycle]` — Filters to one lifecycle state.
@@ -9352,7 +9528,15 @@ client.agent.trajectory.delete_event(
-**request:** `DeleteAgentTrajectoryRequest` +**task_family:** `typing.Optional[str]` — Filters to an exact task-family slug. + +
+
+ +
+
+ +**verification:** `typing.Optional[AgentTraceVerification]` — Filters to one verification strength.
@@ -9372,7 +9556,7 @@ client.agent.trajectory.delete_event(
-
client.agent.trajectory.reopen(...) -> AgentTrajectory +
client.agent.trace.get(...) -> AgentTrace
@@ -9393,10 +9577,9 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.reopen( +client.agent.trace.get( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", - expected_revision=1, + trace_uuid="trace_uuid", ) ``` @@ -9421,15 +9604,7 @@ client.agent.trajectory.reopen(
-**trajectory_uuid:** `str` — Trajectory UUID - -
-
- -
-
- -**expected_revision:** `int` — The current Trajectory revision used for optimistic concurrency. +**trace_uuid:** `str` — Trace UUID
@@ -9449,7 +9624,7 @@ client.agent.trajectory.reopen(
-
client.agent.trajectory.get_summary(...) -> AgentTrajectorySummaryVersion +
client.agent.trace.delete(...) -> AgentTraceSourceDeletionResult
@@ -9470,9 +9645,10 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.get_summary( +client.agent.trace.delete( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", + expected_revision=1, ) ``` @@ -9497,7 +9673,15 @@ client.agent.trajectory.get_summary(
-**trajectory_uuid:** `str` — Trajectory UUID +**trace_uuid:** `str` — Trace UUID + +
+
+ +
+
+ +**request:** `DeleteAgentTraceRequest`
@@ -9517,7 +9701,7 @@ client.agent.trajectory.get_summary(
-
client.agent.trajectory.list_summary_versions(...) -> AgentTrajectorySummaryPage +
client.agent.trace.update(...) -> AgentTrace
@@ -9538,9 +9722,10 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory.list_summary_versions( +client.agent.trace.update( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", + expected_revision=1, ) ``` @@ -9565,7 +9750,7 @@ client.agent.trajectory.list_summary_versions(
-**trajectory_uuid:** `str` — Trajectory UUID +**trace_uuid:** `str` — Trace UUID
@@ -9573,7 +9758,7 @@ client.agent.trajectory.list_summary_versions(
-**limit:** `typing.Optional[int]` — Page size (maximum 100) +**expected_revision:** `int` — The current Trace revision used for optimistic concurrency.
@@ -9581,7 +9766,7 @@ client.agent.trajectory.list_summary_versions(
-**cursor:** `typing.Optional[str]` — Opaque page cursor +**task_family:** `typing.Optional[str]` — Replacement task-family slug. Set to null to clear it.
@@ -9601,25 +9786,10 @@ client.agent.trajectory.list_summary_versions(
-## Agent TrajectoryImport -
client.agent.trajectory_import.list(...) -> TrajectoryImportPage -
-
- -#### 📝 Description - +
client.agent.trace.abandon(...) -> AgentTraceFinalizationResult
-
-
- -List trajectory imports that belong to this Agent. -
-
-
-
- #### 🔌 Usage
@@ -9637,8 +9807,10 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory_import.list( +client.agent.trace.abandon( agent_uuid="agent_uuid", + trace_uuid="trace_uuid", + highest_accepted_sequence=1, ) ``` @@ -9663,7 +9835,7 @@ client.agent.trajectory_import.list(
-**limit:** `typing.Optional[int]` — Page size +**trace_uuid:** `str` — Trace UUID
@@ -9671,7 +9843,7 @@ client.agent.trajectory_import.list(
-**cursor:** `typing.Optional[str]` — Opaque page cursor +**highest_accepted_sequence:** `int`
@@ -9679,36 +9851,62 @@ client.agent.trajectory_import.list(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**assertion_uuid:** `typing.Optional[str]`
+ +
+
+ +**expected_revision:** `typing.Optional[int]` +
+
+
+**missing_sequence_ranges:** `typing.Optional[typing.List[AgentTraceSequenceRange]]` +
-
-
client.agent.trajectory_import.create(...) -> TrajectoryImport
-#### 📝 Description +**reason:** `typing.Optional[str]` + +
+
+**verification:** `typing.Optional[AgentTraceVerification]` + +
+
+
-Create a scheduled import or queue a one-time import. Example request: `{"connection_uuid":"8c78a85e-eac2-4f57-b5f5-59a68a1e77a1","provider_project_id":"project-123","name":"Support traces","selection":{"trace_ids":["trace-123"]},"mapping":{"task_family":{"source":"fixed","value":"support"}}}`. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +
+ + + +
+ +
client.agent.trace.close(...) -> AgentTraceFinalizationResult +
+
+ #### 🔌 Usage
@@ -9726,8 +9924,9 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory_import.create( +client.agent.trace.close( agent_uuid="agent_uuid", + trace_uuid="trace_uuid", ) ``` @@ -9752,7 +9951,7 @@ client.agent.trajectory_import.create(
-**connection_uuid:** `typing.Optional[str]` — ConnectionUUID identifies the project trace connection. +**trace_uuid:** `str` — Trace UUID
@@ -9760,7 +9959,7 @@ client.agent.trajectory_import.create(
-**learn_from:** `typing.Optional[bool]` — LearnFrom controls whether imported evidence can support Skills. +**closing_sequence:** `typing.Optional[int]`
@@ -9768,7 +9967,7 @@ client.agent.trajectory_import.create(
-**mapping:** `typing.Optional[TrajectoryMapping]` — Mapping defines how source traces become Trajectories. Example: {"task_family":{"source":"fixed","value":"support"}}. +**expected_revision:** `typing.Optional[int]`
@@ -9776,7 +9975,7 @@ client.agent.trajectory_import.create(
-**name:** `typing.Optional[str]` — Name is the import display name. +**missing_sequence_ranges:** `typing.Optional[typing.List[AgentTraceSequenceRange]]`
@@ -9784,7 +9983,7 @@ client.agent.trajectory_import.create(
-**on_source_change:** `typing.Optional[str]` — OnSourceChange defines how changed source traces are handled. +**outcome:** `typing.Optional[AgentTraceOutcome]`
@@ -9792,7 +9991,7 @@ client.agent.trajectory_import.create(
-**provider_project_id:** `typing.Optional[str]` — ProviderProjectID is the source provider project identifier. +**reason:** `typing.Optional[str]`
@@ -9800,7 +9999,7 @@ client.agent.trajectory_import.create(
-**require_review:** `typing.Optional[bool]` — RequireReview requires review for candidates backed by this import. +**verification:** `typing.Optional[AgentTraceVerification]`
@@ -9808,7 +10007,7 @@ client.agent.trajectory_import.create(
-**schedule:** `typing.Optional[TrajectoryImportSchedule]` — Schedule enables recurring imports when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}. +**verifier:** `typing.Optional[AgentTraceCloseVerifier]`
@@ -9816,7 +10015,7 @@ client.agent.trajectory_import.create(
-**selection:** `typing.Optional[TrajectoryImportSelection]` — Selection defines the traces to import. Example: {"trace_ids":["trace_123"]}. +**verifier_id:** `typing.Optional[str]`
@@ -9836,24 +10035,10 @@ client.agent.trajectory_import.create(
-
client.agent.trajectory_import.get(...) -> TrajectoryImport -
-
- -#### 📝 Description - -
-
- +
client.agent.trace.correct_task_family(...) -> AgentTraceFinalizationResult
-Read one trajectory import. The response does not include its source cursor. -
-
-
-
- #### 🔌 Usage
@@ -9871,9 +10056,11 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory_import.get( +client.agent.trace.correct_task_family( agent_uuid="agent_uuid", - import_uuid="import_uuid", + trace_uuid="trace_uuid", + expected_revision=1, + reason="reason", ) ``` @@ -9898,7 +10085,7 @@ client.agent.trajectory_import.get(
-**import_uuid:** `str` — Trajectory import UUID +**trace_uuid:** `str` — Trace UUID
@@ -9906,35 +10093,45 @@ client.agent.trajectory_import.get(
-**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. +**expected_revision:** `int` — The current Trace revision used for optimistic concurrency.
-
-
+
+
+**reason:** `str` — Why the terminal Trace classification is being corrected. +
-
-
client.agent.trajectory_import.delete(...) -> typing.Optional[Task]
-#### 📝 Description - -
-
+**task_family:** `typing.Optional[str]` — Replacement task-family slug. Set to null to clear it. + +
+
-Set `trajectories=delete` to queue asynchronous Trajectory deletion. The default keeps Trajectories. Example query: `?trajectories=delete`. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+ + +
+ +
client.agent.trace.list_events(...) -> AgentTraceEventPage +
+
#### 🔌 Usage @@ -9953,9 +10150,9 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory_import.delete( +client.agent.trace.list_events( agent_uuid="agent_uuid", - import_uuid="import_uuid", + trace_uuid="trace_uuid", ) ``` @@ -9980,7 +10177,7 @@ client.agent.trajectory_import.delete(
-**import_uuid:** `str` — Trajectory import UUID +**trace_uuid:** `str` — Trace UUID
@@ -9988,7 +10185,15 @@ client.agent.trajectory_import.delete(
-**trajectories:** `typing.Optional[TrajectoryImportDeleteRequestTrajectories]` — Whether to delete imported Trajectories +**limit:** `typing.Optional[int]` — Page size (maximum 100) + +
+
+ +
+
+ +**cursor:** `typing.Optional[str]` — Opaque page cursor
@@ -10008,24 +10213,10 @@ client.agent.trajectory_import.delete(
-
client.agent.trajectory_import.update(...) -> TrajectoryImport -
-
- -#### 📝 Description - -
-
- +
client.agent.trace.append_event(...) -> AgentTraceEvent
-Use `expected_revision` to reject a stale update. Example request: `{"expected_revision":1,"name":"Updated support traces"}`. -
-
-
-
- #### 🔌 Usage
@@ -10043,9 +10234,10 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory_import.update( +client.agent.trace.append_event( agent_uuid="agent_uuid", - import_uuid="import_uuid", + trace_uuid="trace_uuid", + event_type="input_reference", ) ``` @@ -10070,7 +10262,7 @@ client.agent.trajectory_import.update(
-**import_uuid:** `str` — Trajectory import UUID +**trace_uuid:** `str` — Trace UUID
@@ -10078,7 +10270,7 @@ client.agent.trajectory_import.update(
-**expected_revision:** `typing.Optional[int]` — ExpectedRevision is the current import revision. +**event_type:** `AgentTraceEventType`
@@ -10086,7 +10278,7 @@ client.agent.trajectory_import.update(
-**learn_from:** `typing.Optional[bool]` — LearnFrom is the new learning setting, when supplied. +**content:** `typing.Optional[str]`
@@ -10094,7 +10286,7 @@ client.agent.trajectory_import.update(
-**mapping:** `typing.Optional[TrajectoryMapping]` — Mapping is the new mapping, when supplied. Example: {"task_family":{"source":"fixed","value":"support"}}. +**context:** `typing.Optional[AgentTraceEventContext]`
@@ -10102,7 +10294,7 @@ client.agent.trajectory_import.update(
-**name:** `typing.Optional[str]` — Name is the new import name, when supplied. +**event_id:** `typing.Optional[str]`
@@ -10110,7 +10302,7 @@ client.agent.trajectory_import.update(
-**on_source_change:** `typing.Optional[str]` — OnSourceChange is the new change policy, when supplied. +**metadata:** `typing.Optional[typing.Dict[str, typing.Any]]`
@@ -10118,7 +10310,7 @@ client.agent.trajectory_import.update(
-**require_review:** `typing.Optional[bool]` — RequireReview is the new review setting, when supplied. +**occurred_at:** `typing.Optional[str]`
@@ -10126,7 +10318,7 @@ client.agent.trajectory_import.update(
-**schedule:** `typing.Optional[TrajectoryImportSchedule]` — Schedule is the new schedule, when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}. +**sequence:** `typing.Optional[int]`
@@ -10134,7 +10326,7 @@ client.agent.trajectory_import.update(
-**selection:** `typing.Optional[TrajectoryImportSelection]` — Selection is the new selection, when supplied. Example: {"trace_ids":["trace_123"]}. +**sources:** `typing.Optional[typing.List[AgentTraceEventSource]]`
@@ -10154,23 +10346,95 @@ client.agent.trajectory_import.update(
-
client.agent.trajectory_import.pause(...) -> TrajectoryImport +
client.agent.trace.delete_event(...) -> AgentTraceSourceDeletionResult
-#### 📝 Description +#### 🔌 Usage + +
+
+ +
+
+ +```python +from zep_cloud import Zep +from zep_cloud.environment import ZepEnvironment + +client = Zep( + api_key="", + environment=ZepEnvironment.DEFAULT, +) + +client.agent.trace.delete_event( + agent_uuid="agent_uuid", + trace_uuid="trace_uuid", + event_uuid="event_uuid", + expected_revision=1, +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**agent_uuid:** `str` — Agent UUID + +
+
+ +
+
+ +**trace_uuid:** `str` — Trace UUID + +
+
+ +
+
+ +**event_uuid:** `str` — Event UUID + +
+
+**request:** `DeleteAgentTraceRequest` + +
+
+
-Pause a scheduled trajectory import. One-time imports cannot be paused. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+ +
+
+ +
client.agent.trace.reopen(...) -> AgentTrace +
+
#### 🔌 Usage @@ -10189,9 +10453,10 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory_import.pause( +client.agent.trace.reopen( agent_uuid="agent_uuid", - import_uuid="import_uuid", + trace_uuid="trace_uuid", + expected_revision=1, ) ``` @@ -10216,7 +10481,15 @@ client.agent.trajectory_import.pause(
-**import_uuid:** `str` — Trajectory import UUID +**trace_uuid:** `str` — Trace UUID + +
+
+ +
+
+ +**expected_revision:** `int` — The current Trace revision used for optimistic concurrency.
@@ -10236,23 +10509,77 @@ client.agent.trajectory_import.pause(
-
client.agent.trajectory_import.resume(...) -> TrajectoryImport +
client.agent.trace.get_summary(...) -> AgentTraceSummaryVersion
-#### 📝 Description +#### 🔌 Usage + +
+
+ +
+
+ +```python +from zep_cloud import Zep +from zep_cloud.environment import ZepEnvironment + +client = Zep( + api_key="", + environment=ZepEnvironment.DEFAULT, +) + +client.agent.trace.get_summary( + agent_uuid="agent_uuid", + trace_uuid="trace_uuid", +) + +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**agent_uuid:** `str` — Agent UUID + +
+
+**trace_uuid:** `str` — Trace UUID + +
+
+
-Resume a scheduled trajectory import. Zep verifies credentials first when they caused the pause. +**request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration. + +
+
+ +
+
+ +
client.agent.trace.list_summary_versions(...) -> AgentTraceSummaryPage +
+
#### 🔌 Usage @@ -10271,9 +10598,9 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory_import.resume( +client.agent.trace.list_summary_versions( agent_uuid="agent_uuid", - import_uuid="import_uuid", + trace_uuid="trace_uuid", ) ``` @@ -10298,7 +10625,23 @@ client.agent.trajectory_import.resume(
-**import_uuid:** `str` — Trajectory import UUID +**trace_uuid:** `str` — Trace UUID + +
+
+ +
+
+ +**limit:** `typing.Optional[int]` — Page size (maximum 100) + +
+
+ +
+
+ +**cursor:** `typing.Optional[str]` — Opaque page cursor
@@ -11947,7 +12290,7 @@ client.agent.skill.use.create( agent_uuid="agent_uuid", skill_uuid="skill_uuid", search_id="search_id", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", usage="selected", ) @@ -11989,7 +12332,7 @@ client.agent.skill.use.create(
-**trajectory_uuid:** `str` +**trace_uuid:** `str`
@@ -12283,8 +12626,8 @@ client.agent.skill.export.get(
-## Agent TrajectoryImport Run -
client.agent.trajectory_import.run.list(...) -> TrajectoryImportRunPage +## Agent TraceImport Run +
client.agent.trace_import.run.list(...) -> TraceImportRunPage
@@ -12296,7 +12639,7 @@ client.agent.skill.export.get(
-List runs that belong to this trajectory import. +List runs that belong to this trace import.
@@ -12319,7 +12662,7 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory_import.run.list( +client.agent.trace_import.run.list( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -12346,7 +12689,7 @@ client.agent.trajectory_import.run.list(
-**import_uuid:** `str` — Trajectory import UUID +**import_uuid:** `str` — Trace import UUID
@@ -12382,7 +12725,7 @@ client.agent.trajectory_import.run.list(
-
client.agent.trajectory_import.run.create(...) -> Task +
client.agent.trace_import.run.create(...) -> Task
@@ -12417,7 +12760,7 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory_import.run.create( +client.agent.trace_import.run.create( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -12444,7 +12787,7 @@ client.agent.trajectory_import.run.create(
-**import_uuid:** `str` — Trajectory import UUID +**import_uuid:** `str` — Trace import UUID
@@ -12464,7 +12807,7 @@ client.agent.trajectory_import.run.create(
-
client.agent.trajectory_import.run.get(...) -> TrajectoryImportRun +
client.agent.trace_import.run.get(...) -> TraceImportRun
@@ -12476,7 +12819,7 @@ client.agent.trajectory_import.run.create(
-Read one run that belongs to this trajectory import. +Read one run that belongs to this trace import.
@@ -12499,7 +12842,7 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory_import.run.get( +client.agent.trace_import.run.get( agent_uuid="agent_uuid", import_uuid="import_uuid", run_uuid="run_uuid", @@ -12527,7 +12870,7 @@ client.agent.trajectory_import.run.get(
-**import_uuid:** `str` — Trajectory import UUID +**import_uuid:** `str` — Trace import UUID
@@ -12555,8 +12898,8 @@ client.agent.trajectory_import.run.get(
-## Agent TrajectoryImport Run Item -
client.agent.trajectory_import.run.item.list(...) -> TrajectoryImportRunItemPage +## Agent TraceImport Run Item +
client.agent.trace_import.run.item.list(...) -> TraceImportRunItemPage
@@ -12591,7 +12934,7 @@ client = Zep( environment=ZepEnvironment.DEFAULT, ) -client.agent.trajectory_import.run.item.list( +client.agent.trace_import.run.item.list( agent_uuid="agent_uuid", import_uuid="import_uuid", run_uuid="run_uuid", @@ -12619,7 +12962,7 @@ client.agent.trajectory_import.run.item.list(
-**import_uuid:** `str` — Trajectory import UUID +**import_uuid:** `str` — Trace import UUID
@@ -12888,10 +13231,7 @@ client.graph.episode.add(
-**created_at:** `typing.Optional[str]` - -The episode's reference time, used for temporal reasoning rather than -ingestion time. +**document_id:** `typing.Optional[str]` — Groups this episode as a chunk of a document on the graph.
@@ -12899,7 +13239,7 @@ ingestion time.
-**document_id:** `typing.Optional[str]` — Groups this episode as a chunk of a document on the graph. +**metadata:** `typing.Optional[typing.Dict[str, typing.Any]]` — Metadata to store on the episode. Max 10 keys. Values must be strings, numbers, booleans, or arrays of scalars.
@@ -12907,7 +13247,10 @@ ingestion time.
-**metadata:** `typing.Optional[typing.Dict[str, typing.Any]]` — Metadata to store on the episode. Max 10 keys. Values must be strings, numbers, booleans, or arrays of scalars. +**reference_time:** `typing.Optional[str]` + +The episode's reference time, used for temporal reasoning rather than +ingestion time. Defaults to the ingestion time.
@@ -15690,7 +16033,7 @@ client.trace_connection.trace.get(
-**mapping:** `typing.Optional[TrajectoryMapping]` — Mapping is an optional mapping preview configuration. Example: {"task_family":{"source":"fixed","value":"support"}}. +**mapping:** `typing.Optional[TraceMapping]` — Mapping is an optional mapping preview configuration. Example: {"task_family":{"source":"fixed","value":"support"}}.
diff --git a/src/zep_cloud/__init__.py b/src/zep_cloud/__init__.py index 94506b06..47a51b65 100644 --- a/src/zep_cloud/__init__.py +++ b/src/zep_cloud/__init__.py @@ -68,32 +68,35 @@ AgentSplitPlanSkillSelectionRequest, AgentSplitPlanSource, AgentStatus, - AgentTrajectory, - AgentTrajectoryCloseVerifier, - AgentTrajectoryEvent, - AgentTrajectoryEventContext, - AgentTrajectoryEventPage, - AgentTrajectoryEventProcessingState, - AgentTrajectoryEventSource, - AgentTrajectoryEventSourceCopyMode, - AgentTrajectoryEventSourceRetentionMode, - AgentTrajectoryEventType, - AgentTrajectoryFinalizationResult, - AgentTrajectoryInternal, - AgentTrajectoryLifecycle, - AgentTrajectoryOutcome, - AgentTrajectoryPage, - AgentTrajectoryProcessingState, - AgentTrajectoryResourceRef, - AgentTrajectorySequenceRange, - AgentTrajectorySource, - AgentTrajectorySourceDeletionResult, - AgentTrajectorySummaryCreationReason, - AgentTrajectorySummaryOmissionReason, - AgentTrajectorySummaryOmittedRange, - AgentTrajectorySummaryPage, - AgentTrajectorySummaryVersion, - AgentTrajectoryVerification, + AgentTaskFamilyDescriptor, + AgentTaskFamilyDescriptorPage, + AgentTrace, + AgentTraceCloseVerifier, + AgentTraceEvent, + AgentTraceEventContext, + AgentTraceEventPage, + AgentTraceEventProcessingState, + AgentTraceEventSource, + AgentTraceEventSourceCopyMode, + AgentTraceEventSourceRetentionMode, + AgentTraceEventType, + AgentTraceFinalizationResult, + AgentTraceInternal, + AgentTraceLifecycle, + AgentTraceOutcome, + AgentTracePage, + AgentTraceProcessingState, + AgentTraceResourceRef, + AgentTraceSequenceRange, + AgentTraceSource, + AgentTraceSourceDeletionResult, + AgentTraceSummaryCreationReason, + AgentTraceSummaryOmissionReason, + AgentTraceSummaryOmittedRange, + AgentTraceSummaryPage, + AgentTraceSummaryVersion, + AgentTraceTaskFamilyInference, + AgentTraceVerification, AgentVerificationStrength, AgentVerifier, AgentVerifierAssertionOutcome, @@ -148,13 +151,14 @@ DebugLogLevel, DebugLogStatus, DebugLoggingEnablement, - DeleteAgentTrajectoryRequest, + DeleteAgentTraceRequest, DocumentSummary, DocumentSummaryPage, Edge, EdgeInput, EdgeNodeRef, EdgePage, + EdgeSearchFilters, EdgeSourceTarget, EdgeType, EntityProperty, @@ -177,7 +181,7 @@ HyperedgeEdge, HyperedgeInput, HyperedgePage, - ImportedTrajectoryReference, + ImportedTraceReference, IngestionTrace, IngestionTraceEdge, IngestionTraceEdgeInvalidation, @@ -190,6 +194,7 @@ IngestionTraceNodeResolution, IngestionTraceOutput, IngestionTracePage, + IngestionTraceProtectedAttributeConflict, IngestionTraceStatus, IngestionTraceStep, Instructions, @@ -211,6 +216,7 @@ Node, NodeInput, NodePage, + NodeSearchFilters, ObjectiveMappingRule, ObjectiveMappingRuleSource, Observation, @@ -233,6 +239,7 @@ PropertyFilterOperator, PropertyFilterValue, PropertyFilterValueThreeItem, + RenameAgentTaskFamilyResponse, RoleType, SearchFilters, SearchListRequest, @@ -263,30 +270,32 @@ ThreadSummaryPage, TraceConnection, TraceConnectionPage, + TraceConnectionProvider, TraceConnectionSettings, + TraceContentMapping, TraceFilter, + TraceImport, + TraceImportPage, + TraceImportPauseReason, + TraceImportProvider, + TraceImportRun, + TraceImportRunItem, + TraceImportRunItemPage, + TraceImportRunPage, + TraceImportRunReference, + TraceImportRunReferenceStatus, + TraceImportRunReferenceTrigger, + TraceImportSchedule, + TraceImportSelection, + TraceMapping, + TraceMappingIncludeOutcomesItem, + TraceMappingResult, + TraceMappingResultOutcome, + TraceMappingResultOutcomeRule, TracePreview, TraceProviderProject, TraceProviderProjectPage, TraceScoreRange, - TrajectoryContentMapping, - TrajectoryImport, - TrajectoryImportPage, - TrajectoryImportPauseReason, - TrajectoryImportRun, - TrajectoryImportRunItem, - TrajectoryImportRunItemPage, - TrajectoryImportRunPage, - TrajectoryImportRunReference, - TrajectoryImportRunReferenceStatus, - TrajectoryImportRunReferenceTrigger, - TrajectoryImportSchedule, - TrajectoryImportSelection, - TrajectoryMapping, - TrajectoryMappingIncludeOutcomesItem, - TrajectoryMappingResult, - TrajectoryMappingResultOutcome, - TrajectoryMappingResultOutcomeRule, User, UserDeleteResult, UserGroup, @@ -321,6 +330,7 @@ user_group, ) from ._default_clients import DefaultAioHttpClient, DefaultAsyncHttpxClient + from .agent import AgentListRequestOrder, AgentListRequestOrderBy from .batch import BatchListRequestStatus from .client import AsyncZep, Zep from .environment import ZepEnvironment @@ -328,9 +338,12 @@ GraphContextRequestRecencyBias, GraphListRequestOrder, GraphListRequestOrderBy, + SearchEdgesRequestReranker, + SearchNodesRequestReranker, SubgraphRequestDirection, ) from .thread import ThreadListMessagesRequestOrder, ThreadListRequestOrder, ThreadListRequestOrderBy + from .trace_connection import CreateTraceConnectionRequestProvider from .user import UserListRequestOrder, UserListRequestOrderBy from .version import __version__ _dynamic_imports: typing.Dict[str, str] = { @@ -357,6 +370,8 @@ "AgentContextSkippedSkill": ".types", "AgentDeleteResult": ".types", "AgentLearningState": ".types", + "AgentListRequestOrder": ".agent", + "AgentListRequestOrderBy": ".agent", "AgentLiteralPolicy": ".types", "AgentLiteralPolicyClasses": ".types", "AgentLiteralPolicyValues": ".types", @@ -395,32 +410,35 @@ "AgentSplitPlanSkillSelectionRequest": ".types", "AgentSplitPlanSource": ".types", "AgentStatus": ".types", - "AgentTrajectory": ".types", - "AgentTrajectoryCloseVerifier": ".types", - "AgentTrajectoryEvent": ".types", - "AgentTrajectoryEventContext": ".types", - "AgentTrajectoryEventPage": ".types", - "AgentTrajectoryEventProcessingState": ".types", - "AgentTrajectoryEventSource": ".types", - "AgentTrajectoryEventSourceCopyMode": ".types", - "AgentTrajectoryEventSourceRetentionMode": ".types", - "AgentTrajectoryEventType": ".types", - "AgentTrajectoryFinalizationResult": ".types", - "AgentTrajectoryInternal": ".types", - "AgentTrajectoryLifecycle": ".types", - "AgentTrajectoryOutcome": ".types", - "AgentTrajectoryPage": ".types", - "AgentTrajectoryProcessingState": ".types", - "AgentTrajectoryResourceRef": ".types", - "AgentTrajectorySequenceRange": ".types", - "AgentTrajectorySource": ".types", - "AgentTrajectorySourceDeletionResult": ".types", - "AgentTrajectorySummaryCreationReason": ".types", - "AgentTrajectorySummaryOmissionReason": ".types", - "AgentTrajectorySummaryOmittedRange": ".types", - "AgentTrajectorySummaryPage": ".types", - "AgentTrajectorySummaryVersion": ".types", - "AgentTrajectoryVerification": ".types", + "AgentTaskFamilyDescriptor": ".types", + "AgentTaskFamilyDescriptorPage": ".types", + "AgentTrace": ".types", + "AgentTraceCloseVerifier": ".types", + "AgentTraceEvent": ".types", + "AgentTraceEventContext": ".types", + "AgentTraceEventPage": ".types", + "AgentTraceEventProcessingState": ".types", + "AgentTraceEventSource": ".types", + "AgentTraceEventSourceCopyMode": ".types", + "AgentTraceEventSourceRetentionMode": ".types", + "AgentTraceEventType": ".types", + "AgentTraceFinalizationResult": ".types", + "AgentTraceInternal": ".types", + "AgentTraceLifecycle": ".types", + "AgentTraceOutcome": ".types", + "AgentTracePage": ".types", + "AgentTraceProcessingState": ".types", + "AgentTraceResourceRef": ".types", + "AgentTraceSequenceRange": ".types", + "AgentTraceSource": ".types", + "AgentTraceSourceDeletionResult": ".types", + "AgentTraceSummaryCreationReason": ".types", + "AgentTraceSummaryOmissionReason": ".types", + "AgentTraceSummaryOmittedRange": ".types", + "AgentTraceSummaryPage": ".types", + "AgentTraceSummaryVersion": ".types", + "AgentTraceTaskFamilyInference": ".types", + "AgentTraceVerification": ".types", "AgentVerificationStrength": ".types", "AgentVerifier": ".types", "AgentVerifierAssertionOutcome": ".types", @@ -471,6 +489,7 @@ "ContextThreadSummary": ".types", "CreateAgentRequest": ".types", "CreateContextTemplateRequest": ".types", + "CreateTraceConnectionRequestProvider": ".trace_connection", "CustomInstruction": ".types", "DateFilter": ".types", "DateFilterField": ".types", @@ -483,13 +502,14 @@ "DebugLoggingEnablement": ".types", "DefaultAioHttpClient": "._default_clients", "DefaultAsyncHttpxClient": "._default_clients", - "DeleteAgentTrajectoryRequest": ".types", + "DeleteAgentTraceRequest": ".types", "DocumentSummary": ".types", "DocumentSummaryPage": ".types", "Edge": ".types", "EdgeInput": ".types", "EdgeNodeRef": ".types", "EdgePage": ".types", + "EdgeSearchFilters": ".types", "EdgeSourceTarget": ".types", "EdgeType": ".types", "EntityProperty": ".types", @@ -516,7 +536,7 @@ "HyperedgeEdge": ".types", "HyperedgeInput": ".types", "HyperedgePage": ".types", - "ImportedTrajectoryReference": ".types", + "ImportedTraceReference": ".types", "IngestionTrace": ".types", "IngestionTraceEdge": ".types", "IngestionTraceEdgeInvalidation": ".types", @@ -529,6 +549,7 @@ "IngestionTraceNodeResolution": ".types", "IngestionTraceOutput": ".types", "IngestionTracePage": ".types", + "IngestionTraceProtectedAttributeConflict": ".types", "IngestionTraceStatus": ".types", "IngestionTraceStep": ".types", "Instructions": ".types", @@ -550,6 +571,7 @@ "Node": ".types", "NodeInput": ".types", "NodePage": ".types", + "NodeSearchFilters": ".types", "NotFoundError": ".errors", "ObjectiveMappingRule": ".types", "ObjectiveMappingRuleSource": ".types", @@ -573,9 +595,12 @@ "PropertyFilterOperator": ".types", "PropertyFilterValue": ".types", "PropertyFilterValueThreeItem": ".types", + "RenameAgentTaskFamilyResponse": ".types", "RoleType": ".types", + "SearchEdgesRequestReranker": ".graph", "SearchFilters": ".types", "SearchListRequest": ".types", + "SearchNodesRequestReranker": ".graph", "SearchRequest": ".types", "SearchRequestReranker": ".types", "ServiceUnavailableError": ".errors", @@ -608,30 +633,32 @@ "ThreadSummaryPage": ".types", "TraceConnection": ".types", "TraceConnectionPage": ".types", + "TraceConnectionProvider": ".types", "TraceConnectionSettings": ".types", + "TraceContentMapping": ".types", "TraceFilter": ".types", + "TraceImport": ".types", + "TraceImportPage": ".types", + "TraceImportPauseReason": ".types", + "TraceImportProvider": ".types", + "TraceImportRun": ".types", + "TraceImportRunItem": ".types", + "TraceImportRunItemPage": ".types", + "TraceImportRunPage": ".types", + "TraceImportRunReference": ".types", + "TraceImportRunReferenceStatus": ".types", + "TraceImportRunReferenceTrigger": ".types", + "TraceImportSchedule": ".types", + "TraceImportSelection": ".types", + "TraceMapping": ".types", + "TraceMappingIncludeOutcomesItem": ".types", + "TraceMappingResult": ".types", + "TraceMappingResultOutcome": ".types", + "TraceMappingResultOutcomeRule": ".types", "TracePreview": ".types", "TraceProviderProject": ".types", "TraceProviderProjectPage": ".types", "TraceScoreRange": ".types", - "TrajectoryContentMapping": ".types", - "TrajectoryImport": ".types", - "TrajectoryImportPage": ".types", - "TrajectoryImportPauseReason": ".types", - "TrajectoryImportRun": ".types", - "TrajectoryImportRunItem": ".types", - "TrajectoryImportRunItemPage": ".types", - "TrajectoryImportRunPage": ".types", - "TrajectoryImportRunReference": ".types", - "TrajectoryImportRunReferenceStatus": ".types", - "TrajectoryImportRunReferenceTrigger": ".types", - "TrajectoryImportSchedule": ".types", - "TrajectoryImportSelection": ".types", - "TrajectoryMapping": ".types", - "TrajectoryMappingIncludeOutcomesItem": ".types", - "TrajectoryMappingResult": ".types", - "TrajectoryMappingResultOutcome": ".types", - "TrajectoryMappingResultOutcomeRule": ".types", "UnauthorizedError": ".errors", "UnprocessableEntityError": ".errors", "User": ".types", @@ -706,6 +733,8 @@ def __dir__(): "AgentContextSkippedSkill", "AgentDeleteResult", "AgentLearningState", + "AgentListRequestOrder", + "AgentListRequestOrderBy", "AgentLiteralPolicy", "AgentLiteralPolicyClasses", "AgentLiteralPolicyValues", @@ -744,32 +773,35 @@ def __dir__(): "AgentSplitPlanSkillSelectionRequest", "AgentSplitPlanSource", "AgentStatus", - "AgentTrajectory", - "AgentTrajectoryCloseVerifier", - "AgentTrajectoryEvent", - "AgentTrajectoryEventContext", - "AgentTrajectoryEventPage", - "AgentTrajectoryEventProcessingState", - "AgentTrajectoryEventSource", - "AgentTrajectoryEventSourceCopyMode", - "AgentTrajectoryEventSourceRetentionMode", - "AgentTrajectoryEventType", - "AgentTrajectoryFinalizationResult", - "AgentTrajectoryInternal", - "AgentTrajectoryLifecycle", - "AgentTrajectoryOutcome", - "AgentTrajectoryPage", - "AgentTrajectoryProcessingState", - "AgentTrajectoryResourceRef", - "AgentTrajectorySequenceRange", - "AgentTrajectorySource", - "AgentTrajectorySourceDeletionResult", - "AgentTrajectorySummaryCreationReason", - "AgentTrajectorySummaryOmissionReason", - "AgentTrajectorySummaryOmittedRange", - "AgentTrajectorySummaryPage", - "AgentTrajectorySummaryVersion", - "AgentTrajectoryVerification", + "AgentTaskFamilyDescriptor", + "AgentTaskFamilyDescriptorPage", + "AgentTrace", + "AgentTraceCloseVerifier", + "AgentTraceEvent", + "AgentTraceEventContext", + "AgentTraceEventPage", + "AgentTraceEventProcessingState", + "AgentTraceEventSource", + "AgentTraceEventSourceCopyMode", + "AgentTraceEventSourceRetentionMode", + "AgentTraceEventType", + "AgentTraceFinalizationResult", + "AgentTraceInternal", + "AgentTraceLifecycle", + "AgentTraceOutcome", + "AgentTracePage", + "AgentTraceProcessingState", + "AgentTraceResourceRef", + "AgentTraceSequenceRange", + "AgentTraceSource", + "AgentTraceSourceDeletionResult", + "AgentTraceSummaryCreationReason", + "AgentTraceSummaryOmissionReason", + "AgentTraceSummaryOmittedRange", + "AgentTraceSummaryPage", + "AgentTraceSummaryVersion", + "AgentTraceTaskFamilyInference", + "AgentTraceVerification", "AgentVerificationStrength", "AgentVerifier", "AgentVerifierAssertionOutcome", @@ -820,6 +852,7 @@ def __dir__(): "ContextThreadSummary", "CreateAgentRequest", "CreateContextTemplateRequest", + "CreateTraceConnectionRequestProvider", "CustomInstruction", "DateFilter", "DateFilterField", @@ -832,13 +865,14 @@ def __dir__(): "DebugLoggingEnablement", "DefaultAioHttpClient", "DefaultAsyncHttpxClient", - "DeleteAgentTrajectoryRequest", + "DeleteAgentTraceRequest", "DocumentSummary", "DocumentSummaryPage", "Edge", "EdgeInput", "EdgeNodeRef", "EdgePage", + "EdgeSearchFilters", "EdgeSourceTarget", "EdgeType", "EntityProperty", @@ -865,7 +899,7 @@ def __dir__(): "HyperedgeEdge", "HyperedgeInput", "HyperedgePage", - "ImportedTrajectoryReference", + "ImportedTraceReference", "IngestionTrace", "IngestionTraceEdge", "IngestionTraceEdgeInvalidation", @@ -878,6 +912,7 @@ def __dir__(): "IngestionTraceNodeResolution", "IngestionTraceOutput", "IngestionTracePage", + "IngestionTraceProtectedAttributeConflict", "IngestionTraceStatus", "IngestionTraceStep", "Instructions", @@ -899,6 +934,7 @@ def __dir__(): "Node", "NodeInput", "NodePage", + "NodeSearchFilters", "NotFoundError", "ObjectiveMappingRule", "ObjectiveMappingRuleSource", @@ -922,9 +958,12 @@ def __dir__(): "PropertyFilterOperator", "PropertyFilterValue", "PropertyFilterValueThreeItem", + "RenameAgentTaskFamilyResponse", "RoleType", + "SearchEdgesRequestReranker", "SearchFilters", "SearchListRequest", + "SearchNodesRequestReranker", "SearchRequest", "SearchRequestReranker", "ServiceUnavailableError", @@ -957,30 +996,32 @@ def __dir__(): "ThreadSummaryPage", "TraceConnection", "TraceConnectionPage", + "TraceConnectionProvider", "TraceConnectionSettings", + "TraceContentMapping", "TraceFilter", + "TraceImport", + "TraceImportPage", + "TraceImportPauseReason", + "TraceImportProvider", + "TraceImportRun", + "TraceImportRunItem", + "TraceImportRunItemPage", + "TraceImportRunPage", + "TraceImportRunReference", + "TraceImportRunReferenceStatus", + "TraceImportRunReferenceTrigger", + "TraceImportSchedule", + "TraceImportSelection", + "TraceMapping", + "TraceMappingIncludeOutcomesItem", + "TraceMappingResult", + "TraceMappingResultOutcome", + "TraceMappingResultOutcomeRule", "TracePreview", "TraceProviderProject", "TraceProviderProjectPage", "TraceScoreRange", - "TrajectoryContentMapping", - "TrajectoryImport", - "TrajectoryImportPage", - "TrajectoryImportPauseReason", - "TrajectoryImportRun", - "TrajectoryImportRunItem", - "TrajectoryImportRunItemPage", - "TrajectoryImportRunPage", - "TrajectoryImportRunReference", - "TrajectoryImportRunReferenceStatus", - "TrajectoryImportRunReferenceTrigger", - "TrajectoryImportSchedule", - "TrajectoryImportSelection", - "TrajectoryMapping", - "TrajectoryMappingIncludeOutcomesItem", - "TrajectoryMappingResult", - "TrajectoryMappingResultOutcome", - "TrajectoryMappingResultOutcomeRule", "UnauthorizedError", "UnprocessableEntityError", "User", diff --git a/src/zep_cloud/agent/__init__.py b/src/zep_cloud/agent/__init__.py index 12344901..37833c4f 100644 --- a/src/zep_cloud/agent/__init__.py +++ b/src/zep_cloud/agent/__init__.py @@ -6,22 +6,28 @@ from importlib import import_module if typing.TYPE_CHECKING: - from . import learning, literal_policy, skill, split, trajectory, trajectory_import, verifier + from .types import AgentListRequestOrder, AgentListRequestOrderBy + from . import learning, literal_policy, skill, split, task_family, trace, trace_import, verifier from .literal_policy import UpdateAgentLiteralPolicyRequestDefault from .skill import AgentSkillSearchRequestMarkdownFormat - from .trajectory import TrajectoryListRequestSourceKind - from .trajectory_import import TrajectoryImportDeleteRequestTrajectories + from .trace import TraceListRequestOrder, TraceListRequestOrderBy, TraceListRequestSourceKind + from .trace_import import TraceImportDeleteRequestTraces _dynamic_imports: typing.Dict[str, str] = { + "AgentListRequestOrder": ".types", + "AgentListRequestOrderBy": ".types", "AgentSkillSearchRequestMarkdownFormat": ".skill", - "TrajectoryImportDeleteRequestTrajectories": ".trajectory_import", - "TrajectoryListRequestSourceKind": ".trajectory", + "TraceImportDeleteRequestTraces": ".trace_import", + "TraceListRequestOrder": ".trace", + "TraceListRequestOrderBy": ".trace", + "TraceListRequestSourceKind": ".trace", "UpdateAgentLiteralPolicyRequestDefault": ".literal_policy", "learning": ".learning", "literal_policy": ".literal_policy", "skill": ".skill", "split": ".split", - "trajectory": ".trajectory", - "trajectory_import": ".trajectory_import", + "task_family": ".task_family", + "trace": ".trace", + "trace_import": ".trace_import", "verifier": ".verifier", } @@ -48,15 +54,20 @@ def __dir__(): __all__ = [ + "AgentListRequestOrder", + "AgentListRequestOrderBy", "AgentSkillSearchRequestMarkdownFormat", - "TrajectoryImportDeleteRequestTrajectories", - "TrajectoryListRequestSourceKind", + "TraceImportDeleteRequestTraces", + "TraceListRequestOrder", + "TraceListRequestOrderBy", + "TraceListRequestSourceKind", "UpdateAgentLiteralPolicyRequestDefault", "learning", "literal_policy", "skill", "split", - "trajectory", - "trajectory_import", + "task_family", + "trace", + "trace_import", "verifier", ] diff --git a/src/zep_cloud/agent/client.py b/src/zep_cloud/agent/client.py index cd545428..e2ac06d0 100644 --- a/src/zep_cloud/agent/client.py +++ b/src/zep_cloud/agent/client.py @@ -16,14 +16,17 @@ from ..types.agent_page import AgentPage from ..types.agent_status import AgentStatus from .raw_client import AsyncRawAgentClient, RawAgentClient +from .types.agent_list_request_order import AgentListRequestOrder +from .types.agent_list_request_order_by import AgentListRequestOrderBy if typing.TYPE_CHECKING: from .learning.client import AsyncLearningClient, LearningClient from .literal_policy.client import AsyncLiteralPolicyClient, LiteralPolicyClient from .skill.client import AsyncSkillClient, SkillClient from .split.client import AsyncSplitClient, SplitClient - from .trajectory.client import AsyncTrajectoryClient, TrajectoryClient - from .trajectory_import.client import AsyncTrajectoryImportClient, TrajectoryImportClient + from .task_family.client import AsyncTaskFamilyClient, TaskFamilyClient + from .trace.client import AsyncTraceClient, TraceClient + from .trace_import.client import AsyncTraceImportClient, TraceImportClient from .verifier.client import AsyncVerifierClient, VerifierClient # this is used as the default value for optional parameters OMIT = typing.cast(typing.Any, ...) @@ -37,8 +40,9 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._literal_policy: typing.Optional[LiteralPolicyClient] = None self._skill: typing.Optional[SkillClient] = None self._split: typing.Optional[SplitClient] = None - self._trajectory: typing.Optional[TrajectoryClient] = None - self._trajectory_import: typing.Optional[TrajectoryImportClient] = None + self._task_family: typing.Optional[TaskFamilyClient] = None + self._trace_import: typing.Optional[TraceImportClient] = None + self._trace: typing.Optional[TraceClient] = None self._verifier: typing.Optional[VerifierClient] = None @property @@ -85,7 +89,7 @@ def create( A human-readable description of the Agent. memory_settings : typing.Optional[AgentMemorySettings] - Agent Memory capture, compilation, and promotion settings. + Agent Skills capture, compilation, and promotion settings. metadata : typing.Optional[typing.Dict[str, typing.Any]] Developer metadata used to organize and filter Agents. @@ -135,9 +139,12 @@ def list( *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, + order_by: typing.Optional[AgentListRequestOrderBy] = None, + order: typing.Optional[AgentListRequestOrder] = None, agent_id: typing.Optional[str] = OMIT, deployment_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + search: typing.Optional[str] = OMIT, status: typing.Optional[AgentStatus] = OMIT, version: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, @@ -151,6 +158,12 @@ def list( cursor : typing.Optional[str] Opaque page cursor + order_by : typing.Optional[AgentListRequestOrderBy] + Sort field + + order : typing.Optional[AgentListRequestOrder] + asc or desc + agent_id : typing.Optional[str] Filters to the exact developer-assigned Agent identifier. @@ -160,6 +173,10 @@ def list( metadata : typing.Optional[typing.Dict[str, typing.Any]] Filters to Agents whose metadata contains these key-value pairs. + search : typing.Optional[str] + Filters to Agents whose name, Agent identifier, deployment identifier, + or deployment version contains this text. Matching is case-insensitive. + status : typing.Optional[AgentStatus] Filters to lifecycle status. Omit to include every status. @@ -191,9 +208,12 @@ def list( return self._raw_client.list( limit=limit, cursor=cursor, + order_by=order_by, + order=order, agent_id=agent_id, deployment_id=deployment_id, metadata=metadata, + search=search, status=status, version=version, request_options=request_options, @@ -305,7 +325,7 @@ def update( A human-readable description of the Agent. Set to null to clear it. memory_settings : typing.Optional[AgentMemorySettings] - Replacement Agent Memory settings. Set to null to restore defaults. + Replacement Agent Skills settings. Set to null to restore defaults. metadata : typing.Optional[typing.Dict[str, typing.Any]] Replacement developer metadata. Set to null to clear it. @@ -414,7 +434,7 @@ def get_context( objective: typing.Optional[str] = OMIT, task_family: typing.Optional[str] = OMIT, tools: typing.Optional[typing.Sequence[AgentContextResource]] = OMIT, - trajectory_uuid: typing.Optional[str] = OMIT, + trace_uuid: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AgentContext: """ @@ -437,7 +457,7 @@ def get_context( tools : typing.Optional[typing.Sequence[AgentContextResource]] - trajectory_uuid : typing.Optional[str] + trace_uuid : typing.Optional[str] request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -467,7 +487,7 @@ def get_context( objective=objective, task_family=task_family, tools=tools, - trajectory_uuid=trajectory_uuid, + trace_uuid=trace_uuid, request_options=request_options, ) return _response.data @@ -505,20 +525,28 @@ def split(self): return self._split @property - def trajectory(self): - if self._trajectory is None: - from .trajectory.client import TrajectoryClient # noqa: E402 + def task_family(self): + if self._task_family is None: + from .task_family.client import TaskFamilyClient # noqa: E402 + + self._task_family = TaskFamilyClient(client_wrapper=self._client_wrapper) + return self._task_family + + @property + def trace_import(self): + if self._trace_import is None: + from .trace_import.client import TraceImportClient # noqa: E402 - self._trajectory = TrajectoryClient(client_wrapper=self._client_wrapper) - return self._trajectory + self._trace_import = TraceImportClient(client_wrapper=self._client_wrapper) + return self._trace_import @property - def trajectory_import(self): - if self._trajectory_import is None: - from .trajectory_import.client import TrajectoryImportClient # noqa: E402 + def trace(self): + if self._trace is None: + from .trace.client import TraceClient # noqa: E402 - self._trajectory_import = TrajectoryImportClient(client_wrapper=self._client_wrapper) - return self._trajectory_import + self._trace = TraceClient(client_wrapper=self._client_wrapper) + return self._trace @property def verifier(self): @@ -537,8 +565,9 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._literal_policy: typing.Optional[AsyncLiteralPolicyClient] = None self._skill: typing.Optional[AsyncSkillClient] = None self._split: typing.Optional[AsyncSplitClient] = None - self._trajectory: typing.Optional[AsyncTrajectoryClient] = None - self._trajectory_import: typing.Optional[AsyncTrajectoryImportClient] = None + self._task_family: typing.Optional[AsyncTaskFamilyClient] = None + self._trace_import: typing.Optional[AsyncTraceImportClient] = None + self._trace: typing.Optional[AsyncTraceClient] = None self._verifier: typing.Optional[AsyncVerifierClient] = None @property @@ -585,7 +614,7 @@ async def create( A human-readable description of the Agent. memory_settings : typing.Optional[AgentMemorySettings] - Agent Memory capture, compilation, and promotion settings. + Agent Skills capture, compilation, and promotion settings. metadata : typing.Optional[typing.Dict[str, typing.Any]] Developer metadata used to organize and filter Agents. @@ -643,9 +672,12 @@ async def list( *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, + order_by: typing.Optional[AgentListRequestOrderBy] = None, + order: typing.Optional[AgentListRequestOrder] = None, agent_id: typing.Optional[str] = OMIT, deployment_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + search: typing.Optional[str] = OMIT, status: typing.Optional[AgentStatus] = OMIT, version: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, @@ -659,6 +691,12 @@ async def list( cursor : typing.Optional[str] Opaque page cursor + order_by : typing.Optional[AgentListRequestOrderBy] + Sort field + + order : typing.Optional[AgentListRequestOrder] + asc or desc + agent_id : typing.Optional[str] Filters to the exact developer-assigned Agent identifier. @@ -668,6 +706,10 @@ async def list( metadata : typing.Optional[typing.Dict[str, typing.Any]] Filters to Agents whose metadata contains these key-value pairs. + search : typing.Optional[str] + Filters to Agents whose name, Agent identifier, deployment identifier, + or deployment version contains this text. Matching is case-insensitive. + status : typing.Optional[AgentStatus] Filters to lifecycle status. Omit to include every status. @@ -708,9 +750,12 @@ async def main() -> None: return await self._raw_client.list( limit=limit, cursor=cursor, + order_by=order_by, + order=order, agent_id=agent_id, deployment_id=deployment_id, metadata=metadata, + search=search, status=status, version=version, request_options=request_options, @@ -838,7 +883,7 @@ async def update( A human-readable description of the Agent. Set to null to clear it. memory_settings : typing.Optional[AgentMemorySettings] - Replacement Agent Memory settings. Set to null to restore defaults. + Replacement Agent Skills settings. Set to null to restore defaults. metadata : typing.Optional[typing.Dict[str, typing.Any]] Replacement developer metadata. Set to null to clear it. @@ -963,7 +1008,7 @@ async def get_context( objective: typing.Optional[str] = OMIT, task_family: typing.Optional[str] = OMIT, tools: typing.Optional[typing.Sequence[AgentContextResource]] = OMIT, - trajectory_uuid: typing.Optional[str] = OMIT, + trace_uuid: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AgentContext: """ @@ -986,7 +1031,7 @@ async def get_context( tools : typing.Optional[typing.Sequence[AgentContextResource]] - trajectory_uuid : typing.Optional[str] + trace_uuid : typing.Optional[str] request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1024,7 +1069,7 @@ async def main() -> None: objective=objective, task_family=task_family, tools=tools, - trajectory_uuid=trajectory_uuid, + trace_uuid=trace_uuid, request_options=request_options, ) return _response.data @@ -1062,20 +1107,28 @@ def split(self): return self._split @property - def trajectory(self): - if self._trajectory is None: - from .trajectory.client import AsyncTrajectoryClient # noqa: E402 + def task_family(self): + if self._task_family is None: + from .task_family.client import AsyncTaskFamilyClient # noqa: E402 + + self._task_family = AsyncTaskFamilyClient(client_wrapper=self._client_wrapper) + return self._task_family + + @property + def trace_import(self): + if self._trace_import is None: + from .trace_import.client import AsyncTraceImportClient # noqa: E402 - self._trajectory = AsyncTrajectoryClient(client_wrapper=self._client_wrapper) - return self._trajectory + self._trace_import = AsyncTraceImportClient(client_wrapper=self._client_wrapper) + return self._trace_import @property - def trajectory_import(self): - if self._trajectory_import is None: - from .trajectory_import.client import AsyncTrajectoryImportClient # noqa: E402 + def trace(self): + if self._trace is None: + from .trace.client import AsyncTraceClient # noqa: E402 - self._trajectory_import = AsyncTrajectoryImportClient(client_wrapper=self._client_wrapper) - return self._trajectory_import + self._trace = AsyncTraceClient(client_wrapper=self._client_wrapper) + return self._trace @property def verifier(self): diff --git a/src/zep_cloud/agent/raw_client.py b/src/zep_cloud/agent/raw_client.py index 6bfb8649..c9f78ef3 100644 --- a/src/zep_cloud/agent/raw_client.py +++ b/src/zep_cloud/agent/raw_client.py @@ -28,6 +28,8 @@ from ..types.agent_page import AgentPage from ..types.agent_status import AgentStatus from ..types.api_error import ApiError as types_api_error_ApiError +from .types.agent_list_request_order import AgentListRequestOrder +from .types.agent_list_request_order_by import AgentListRequestOrderBy from pydantic import ValidationError # this is used as the default value for optional parameters @@ -71,7 +73,7 @@ def create( A human-readable description of the Agent. memory_settings : typing.Optional[AgentMemorySettings] - Agent Memory capture, compilation, and promotion settings. + Agent Skills capture, compilation, and promotion settings. metadata : typing.Optional[typing.Dict[str, typing.Any]] Developer metadata used to organize and filter Agents. @@ -194,9 +196,12 @@ def list( *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, + order_by: typing.Optional[AgentListRequestOrderBy] = None, + order: typing.Optional[AgentListRequestOrder] = None, agent_id: typing.Optional[str] = OMIT, deployment_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + search: typing.Optional[str] = OMIT, status: typing.Optional[AgentStatus] = OMIT, version: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, @@ -210,6 +215,12 @@ def list( cursor : typing.Optional[str] Opaque page cursor + order_by : typing.Optional[AgentListRequestOrderBy] + Sort field + + order : typing.Optional[AgentListRequestOrder] + asc or desc + agent_id : typing.Optional[str] Filters to the exact developer-assigned Agent identifier. @@ -219,6 +230,10 @@ def list( metadata : typing.Optional[typing.Dict[str, typing.Any]] Filters to Agents whose metadata contains these key-value pairs. + search : typing.Optional[str] + Filters to Agents whose name, Agent identifier, deployment identifier, + or deployment version contains this text. Matching is case-insensitive. + status : typing.Optional[AgentStatus] Filters to lifecycle status. Omit to include every status. @@ -239,11 +254,14 @@ def list( params={ "limit": limit, "cursor": cursor, + "order_by": order_by, + "order": order, }, json={ "agent_id": agent_id, "deployment_id": deployment_id, "metadata": metadata, + "search": search, "status": status, "version": version, }, @@ -269,9 +287,12 @@ def list( _get_next = lambda: self.list( limit=limit, cursor=_parsed_next, + order_by=order_by, + order=order, agent_id=agent_id, deployment_id=deployment_id, metadata=metadata, + search=search, status=status, version=version, request_options=request_options, @@ -569,7 +590,7 @@ def update( A human-readable description of the Agent. Set to null to clear it. memory_settings : typing.Optional[AgentMemorySettings] - Replacement Agent Memory settings. Set to null to restore defaults. + Replacement Agent Skills settings. Set to null to restore defaults. metadata : typing.Optional[typing.Dict[str, typing.Any]] Replacement developer metadata. Set to null to clear it. @@ -821,7 +842,7 @@ def get_context( objective: typing.Optional[str] = OMIT, task_family: typing.Optional[str] = OMIT, tools: typing.Optional[typing.Sequence[AgentContextResource]] = OMIT, - trajectory_uuid: typing.Optional[str] = OMIT, + trace_uuid: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[AgentContext]: """ @@ -844,7 +865,7 @@ def get_context( tools : typing.Optional[typing.Sequence[AgentContextResource]] - trajectory_uuid : typing.Optional[str] + trace_uuid : typing.Optional[str] request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -871,7 +892,7 @@ def get_context( "tools": convert_and_respect_annotation_metadata( object_=tools, annotation=typing.Sequence[AgentContextResource], direction="write" ), - "trajectory_uuid": trajectory_uuid, + "trace_uuid": trace_uuid, }, headers={ "content-type": "application/json", @@ -996,7 +1017,7 @@ async def create( A human-readable description of the Agent. memory_settings : typing.Optional[AgentMemorySettings] - Agent Memory capture, compilation, and promotion settings. + Agent Skills capture, compilation, and promotion settings. metadata : typing.Optional[typing.Dict[str, typing.Any]] Developer metadata used to organize and filter Agents. @@ -1119,9 +1140,12 @@ async def list( *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, + order_by: typing.Optional[AgentListRequestOrderBy] = None, + order: typing.Optional[AgentListRequestOrder] = None, agent_id: typing.Optional[str] = OMIT, deployment_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + search: typing.Optional[str] = OMIT, status: typing.Optional[AgentStatus] = OMIT, version: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, @@ -1135,6 +1159,12 @@ async def list( cursor : typing.Optional[str] Opaque page cursor + order_by : typing.Optional[AgentListRequestOrderBy] + Sort field + + order : typing.Optional[AgentListRequestOrder] + asc or desc + agent_id : typing.Optional[str] Filters to the exact developer-assigned Agent identifier. @@ -1144,6 +1174,10 @@ async def list( metadata : typing.Optional[typing.Dict[str, typing.Any]] Filters to Agents whose metadata contains these key-value pairs. + search : typing.Optional[str] + Filters to Agents whose name, Agent identifier, deployment identifier, + or deployment version contains this text. Matching is case-insensitive. + status : typing.Optional[AgentStatus] Filters to lifecycle status. Omit to include every status. @@ -1164,11 +1198,14 @@ async def list( params={ "limit": limit, "cursor": cursor, + "order_by": order_by, + "order": order, }, json={ "agent_id": agent_id, "deployment_id": deployment_id, "metadata": metadata, + "search": search, "status": status, "version": version, }, @@ -1196,9 +1233,12 @@ async def _get_next(): return await self.list( limit=limit, cursor=_parsed_next, + order_by=order_by, + order=order, agent_id=agent_id, deployment_id=deployment_id, metadata=metadata, + search=search, status=status, version=version, request_options=request_options, @@ -1499,7 +1539,7 @@ async def update( A human-readable description of the Agent. Set to null to clear it. memory_settings : typing.Optional[AgentMemorySettings] - Replacement Agent Memory settings. Set to null to restore defaults. + Replacement Agent Skills settings. Set to null to restore defaults. metadata : typing.Optional[typing.Dict[str, typing.Any]] Replacement developer metadata. Set to null to clear it. @@ -1751,7 +1791,7 @@ async def get_context( objective: typing.Optional[str] = OMIT, task_family: typing.Optional[str] = OMIT, tools: typing.Optional[typing.Sequence[AgentContextResource]] = OMIT, - trajectory_uuid: typing.Optional[str] = OMIT, + trace_uuid: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[AgentContext]: """ @@ -1774,7 +1814,7 @@ async def get_context( tools : typing.Optional[typing.Sequence[AgentContextResource]] - trajectory_uuid : typing.Optional[str] + trace_uuid : typing.Optional[str] request_options : typing.Optional[RequestOptions] Request-specific configuration. @@ -1801,7 +1841,7 @@ async def get_context( "tools": convert_and_respect_annotation_metadata( object_=tools, annotation=typing.Sequence[AgentContextResource], direction="write" ), - "trajectory_uuid": trajectory_uuid, + "trace_uuid": trace_uuid, }, headers={ "content-type": "application/json", diff --git a/src/zep_cloud/agent/skill/use/client.py b/src/zep_cloud/agent/skill/use/client.py index d732be75..25ef43b2 100644 --- a/src/zep_cloud/agent/skill/use/client.py +++ b/src/zep_cloud/agent/skill/use/client.py @@ -36,7 +36,7 @@ def create( skill_uuid: str, *, search_id: str, - trajectory_uuid: str, + trace_uuid: str, usage: CreateAgentSkillUseRequestUsage, outcome: typing.Optional[AddAgentSkillUseOutcomeRequest] = OMIT, reason_code: typing.Optional[str] = OMIT, @@ -54,7 +54,7 @@ def create( search_id : str - trajectory_uuid : str + trace_uuid : str usage : CreateAgentSkillUseRequestUsage @@ -83,7 +83,7 @@ def create( agent_uuid="agent_uuid", skill_uuid="skill_uuid", search_id="search_id", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", usage="selected", ) """ @@ -91,7 +91,7 @@ def create( agent_uuid, skill_uuid, search_id=search_id, - trajectory_uuid=trajectory_uuid, + trace_uuid=trace_uuid, usage=usage, outcome=outcome, reason_code=reason_code, @@ -180,7 +180,7 @@ async def create( skill_uuid: str, *, search_id: str, - trajectory_uuid: str, + trace_uuid: str, usage: CreateAgentSkillUseRequestUsage, outcome: typing.Optional[AddAgentSkillUseOutcomeRequest] = OMIT, reason_code: typing.Optional[str] = OMIT, @@ -198,7 +198,7 @@ async def create( search_id : str - trajectory_uuid : str + trace_uuid : str usage : CreateAgentSkillUseRequestUsage @@ -232,7 +232,7 @@ async def main() -> None: agent_uuid="agent_uuid", skill_uuid="skill_uuid", search_id="search_id", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", usage="selected", ) @@ -243,7 +243,7 @@ async def main() -> None: agent_uuid, skill_uuid, search_id=search_id, - trajectory_uuid=trajectory_uuid, + trace_uuid=trace_uuid, usage=usage, outcome=outcome, reason_code=reason_code, diff --git a/src/zep_cloud/agent/skill/use/raw_client.py b/src/zep_cloud/agent/skill/use/raw_client.py index c9ffb84d..183e1645 100644 --- a/src/zep_cloud/agent/skill/use/raw_client.py +++ b/src/zep_cloud/agent/skill/use/raw_client.py @@ -39,7 +39,7 @@ def create( skill_uuid: str, *, search_id: str, - trajectory_uuid: str, + trace_uuid: str, usage: CreateAgentSkillUseRequestUsage, outcome: typing.Optional[AddAgentSkillUseOutcomeRequest] = OMIT, reason_code: typing.Optional[str] = OMIT, @@ -57,7 +57,7 @@ def create( search_id : str - trajectory_uuid : str + trace_uuid : str usage : CreateAgentSkillUseRequestUsage @@ -84,7 +84,7 @@ def create( ), "reason_code": reason_code, "search_id": search_id, - "trajectory_uuid": trajectory_uuid, + "trace_uuid": trace_uuid, "usage": usage, }, headers={ @@ -264,7 +264,7 @@ async def create( skill_uuid: str, *, search_id: str, - trajectory_uuid: str, + trace_uuid: str, usage: CreateAgentSkillUseRequestUsage, outcome: typing.Optional[AddAgentSkillUseOutcomeRequest] = OMIT, reason_code: typing.Optional[str] = OMIT, @@ -282,7 +282,7 @@ async def create( search_id : str - trajectory_uuid : str + trace_uuid : str usage : CreateAgentSkillUseRequestUsage @@ -309,7 +309,7 @@ async def create( ), "reason_code": reason_code, "search_id": search_id, - "trajectory_uuid": trajectory_uuid, + "trace_uuid": trace_uuid, "usage": usage, }, headers={ diff --git a/src/zep_cloud/agent/trajectory_import/run/item/__init__.py b/src/zep_cloud/agent/task_family/__init__.py similarity index 100% rename from src/zep_cloud/agent/trajectory_import/run/item/__init__.py rename to src/zep_cloud/agent/task_family/__init__.py diff --git a/src/zep_cloud/agent/task_family/client.py b/src/zep_cloud/agent/task_family/client.py new file mode 100644 index 00000000..72264cd5 --- /dev/null +++ b/src/zep_cloud/agent/task_family/client.py @@ -0,0 +1,261 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.pagination import AsyncPager, SyncPager +from ...core.request_options import RequestOptions +from ...types.agent_task_family_descriptor import AgentTaskFamilyDescriptor +from ...types.agent_task_family_descriptor_page import AgentTaskFamilyDescriptorPage +from ...types.rename_agent_task_family_response import RenameAgentTaskFamilyResponse +from .raw_client import AsyncRawTaskFamilyClient, RawTaskFamilyClient + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class TaskFamilyClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._raw_client = RawTaskFamilyClient(client_wrapper=client_wrapper) + + @property + def with_raw_response(self) -> RawTaskFamilyClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + RawTaskFamilyClient + """ + return self._raw_client + + def list( + self, + agent_uuid: str, + *, + limit: typing.Optional[int] = None, + cursor: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> SyncPager[AgentTaskFamilyDescriptor, AgentTaskFamilyDescriptorPage]: + """ + Parameters + ---------- + agent_uuid : str + Agent UUID + + limit : typing.Optional[int] + Page size (maximum 100) + + cursor : typing.Optional[str] + Opaque page cursor + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SyncPager[AgentTaskFamilyDescriptor, AgentTaskFamilyDescriptorPage] + OK + + Examples + -------- + from zep_cloud import Zep + + client = Zep( + api_key="YOUR_API_KEY", + ) + response = client.agent.task_family.list( + agent_uuid="agent_uuid", + ) + for item in response: + yield item + # alternatively, you can paginate page-by-page + for page in response.iter_pages(): + yield page + """ + return self._raw_client.list(agent_uuid, limit=limit, cursor=cursor, request_options=request_options) + + def rename( + self, + agent_uuid: str, + *, + from_slug: str, + to_slug: str, + idempotency_key: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> RenameAgentTaskFamilyResponse: + """ + Parameters + ---------- + agent_uuid : str + Agent UUID + + from_slug : str + The current slug of the live descriptor. + + to_slug : str + The new slug, or the slug of the live descriptor to merge into. + + idempotency_key : typing.Optional[str] + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + RenameAgentTaskFamilyResponse + OK + + Examples + -------- + from zep_cloud import Zep + + client = Zep( + api_key="YOUR_API_KEY", + ) + client.agent.task_family.rename( + agent_uuid="agent_uuid", + from_slug="from_slug", + to_slug="to_slug", + ) + """ + _response = self._raw_client.rename( + agent_uuid, + from_slug=from_slug, + to_slug=to_slug, + idempotency_key=idempotency_key, + request_options=request_options, + ) + return _response.data + + +class AsyncTaskFamilyClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._raw_client = AsyncRawTaskFamilyClient(client_wrapper=client_wrapper) + + @property + def with_raw_response(self) -> AsyncRawTaskFamilyClient: + """ + Retrieves a raw implementation of this client that returns raw responses. + + Returns + ------- + AsyncRawTaskFamilyClient + """ + return self._raw_client + + async def list( + self, + agent_uuid: str, + *, + limit: typing.Optional[int] = None, + cursor: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncPager[AgentTaskFamilyDescriptor, AgentTaskFamilyDescriptorPage]: + """ + Parameters + ---------- + agent_uuid : str + Agent UUID + + limit : typing.Optional[int] + Page size (maximum 100) + + cursor : typing.Optional[str] + Opaque page cursor + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncPager[AgentTaskFamilyDescriptor, AgentTaskFamilyDescriptorPage] + OK + + Examples + -------- + import asyncio + + from zep_cloud import AsyncZep + + client = AsyncZep( + api_key="YOUR_API_KEY", + ) + + + async def main() -> None: + response = await client.agent.task_family.list( + agent_uuid="agent_uuid", + ) + async for item in response: + yield item + + # alternatively, you can paginate page-by-page + async for page in response.iter_pages(): + yield page + + + asyncio.run(main()) + """ + return await self._raw_client.list(agent_uuid, limit=limit, cursor=cursor, request_options=request_options) + + async def rename( + self, + agent_uuid: str, + *, + from_slug: str, + to_slug: str, + idempotency_key: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> RenameAgentTaskFamilyResponse: + """ + Parameters + ---------- + agent_uuid : str + Agent UUID + + from_slug : str + The current slug of the live descriptor. + + to_slug : str + The new slug, or the slug of the live descriptor to merge into. + + idempotency_key : typing.Optional[str] + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + RenameAgentTaskFamilyResponse + OK + + Examples + -------- + import asyncio + + from zep_cloud import AsyncZep + + client = AsyncZep( + api_key="YOUR_API_KEY", + ) + + + async def main() -> None: + await client.agent.task_family.rename( + agent_uuid="agent_uuid", + from_slug="from_slug", + to_slug="to_slug", + ) + + + asyncio.run(main()) + """ + _response = await self._raw_client.rename( + agent_uuid, + from_slug=from_slug, + to_slug=to_slug, + idempotency_key=idempotency_key, + request_options=request_options, + ) + return _response.data diff --git a/src/zep_cloud/agent/task_family/raw_client.py b/src/zep_cloud/agent/task_family/raw_client.py new file mode 100644 index 00000000..b3bb30a8 --- /dev/null +++ b/src/zep_cloud/agent/task_family/raw_client.py @@ -0,0 +1,495 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing +from json.decoder import JSONDecodeError + +from ...core.api_error import ApiError as core_api_error_ApiError +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.http_response import AsyncHttpResponse, HttpResponse +from ...core.idempotency import generate_idempotency_key +from ...core.jsonable_encoder import encode_path_param +from ...core.pagination import AsyncPager, SyncPager +from ...core.parse_error import ParsingError +from ...core.pydantic_utilities import parse_obj_as +from ...core.request_options import RequestOptions +from ...errors.bad_request_error import BadRequestError +from ...errors.forbidden_error import ForbiddenError +from ...errors.not_found_error import NotFoundError +from ...errors.unauthorized_error import UnauthorizedError +from ...types.agent_task_family_descriptor import AgentTaskFamilyDescriptor +from ...types.agent_task_family_descriptor_page import AgentTaskFamilyDescriptorPage +from ...types.api_error import ApiError as types_api_error_ApiError +from ...types.rename_agent_task_family_response import RenameAgentTaskFamilyResponse +from pydantic import ValidationError + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class RawTaskFamilyClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def list( + self, + agent_uuid: str, + *, + limit: typing.Optional[int] = None, + cursor: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> SyncPager[AgentTaskFamilyDescriptor, AgentTaskFamilyDescriptorPage]: + """ + Parameters + ---------- + agent_uuid : str + Agent UUID + + limit : typing.Optional[int] + Page size (maximum 100) + + cursor : typing.Optional[str] + Opaque page cursor + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + SyncPager[AgentTaskFamilyDescriptor, AgentTaskFamilyDescriptorPage] + OK + """ + _response = self._client_wrapper.httpx_client.request( + f"agents/{encode_path_param(agent_uuid)}/task-families/list", + method="POST", + params={ + "limit": limit, + "cursor": cursor, + }, + headers={ + "Idempotency-Key": generate_idempotency_key(), + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _parsed_response = typing.cast( + AgentTaskFamilyDescriptorPage, + parse_obj_as( + type_=AgentTaskFamilyDescriptorPage, # type: ignore + object_=_response.json(), + ), + ) + _items = _parsed_response.items + _parsed_next = _parsed_response.next_cursor + _has_next = _parsed_next is not None and _parsed_next != "" + _get_next = lambda: self.list( + agent_uuid, + limit=limit, + cursor=_parsed_next, + request_options=request_options, + ) + return SyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) + if _response.status_code == 400: + raise BadRequestError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise core_api_error_ApiError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.text + ) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise core_api_error_ApiError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response_json + ) + + def rename( + self, + agent_uuid: str, + *, + from_slug: str, + to_slug: str, + idempotency_key: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> HttpResponse[RenameAgentTaskFamilyResponse]: + """ + Parameters + ---------- + agent_uuid : str + Agent UUID + + from_slug : str + The current slug of the live descriptor. + + to_slug : str + The new slug, or the slug of the live descriptor to merge into. + + idempotency_key : typing.Optional[str] + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + HttpResponse[RenameAgentTaskFamilyResponse] + OK + """ + _response = self._client_wrapper.httpx_client.request( + f"agents/{encode_path_param(agent_uuid)}/task-families/rename", + method="POST", + json={ + "from_slug": from_slug, + "to_slug": to_slug, + }, + headers={ + "content-type": "application/json", + "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else generate_idempotency_key(), + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + RenameAgentTaskFamilyResponse, + parse_obj_as( + type_=RenameAgentTaskFamilyResponse, # type: ignore + object_=_response.json(), + ), + ) + return HttpResponse(response=_response, data=_data) + if _response.status_code == 400: + raise BadRequestError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise core_api_error_ApiError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.text + ) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise core_api_error_ApiError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response_json + ) + + +class AsyncRawTaskFamilyClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def list( + self, + agent_uuid: str, + *, + limit: typing.Optional[int] = None, + cursor: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncPager[AgentTaskFamilyDescriptor, AgentTaskFamilyDescriptorPage]: + """ + Parameters + ---------- + agent_uuid : str + Agent UUID + + limit : typing.Optional[int] + Page size (maximum 100) + + cursor : typing.Optional[str] + Opaque page cursor + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncPager[AgentTaskFamilyDescriptor, AgentTaskFamilyDescriptorPage] + OK + """ + _response = await self._client_wrapper.httpx_client.request( + f"agents/{encode_path_param(agent_uuid)}/task-families/list", + method="POST", + params={ + "limit": limit, + "cursor": cursor, + }, + headers={ + "Idempotency-Key": generate_idempotency_key(), + }, + request_options=request_options, + ) + try: + if 200 <= _response.status_code < 300: + _parsed_response = typing.cast( + AgentTaskFamilyDescriptorPage, + parse_obj_as( + type_=AgentTaskFamilyDescriptorPage, # type: ignore + object_=_response.json(), + ), + ) + _items = _parsed_response.items + _parsed_next = _parsed_response.next_cursor + _has_next = _parsed_next is not None and _parsed_next != "" + + async def _get_next(): + return await self.list( + agent_uuid, + limit=limit, + cursor=_parsed_next, + request_options=request_options, + ) + + return AsyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response) + if _response.status_code == 400: + raise BadRequestError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise core_api_error_ApiError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.text + ) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise core_api_error_ApiError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response_json + ) + + async def rename( + self, + agent_uuid: str, + *, + from_slug: str, + to_slug: str, + idempotency_key: typing.Optional[str] = None, + request_options: typing.Optional[RequestOptions] = None, + ) -> AsyncHttpResponse[RenameAgentTaskFamilyResponse]: + """ + Parameters + ---------- + agent_uuid : str + Agent UUID + + from_slug : str + The current slug of the live descriptor. + + to_slug : str + The new slug, or the slug of the live descriptor to merge into. + + idempotency_key : typing.Optional[str] + + request_options : typing.Optional[RequestOptions] + Request-specific configuration. + + Returns + ------- + AsyncHttpResponse[RenameAgentTaskFamilyResponse] + OK + """ + _response = await self._client_wrapper.httpx_client.request( + f"agents/{encode_path_param(agent_uuid)}/task-families/rename", + method="POST", + json={ + "from_slug": from_slug, + "to_slug": to_slug, + }, + headers={ + "content-type": "application/json", + "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else generate_idempotency_key(), + }, + request_options=request_options, + omit=OMIT, + ) + try: + if 200 <= _response.status_code < 300: + _data = typing.cast( + RenameAgentTaskFamilyResponse, + parse_obj_as( + type_=RenameAgentTaskFamilyResponse, # type: ignore + object_=_response.json(), + ), + ) + return AsyncHttpResponse(response=_response, data=_data) + if _response.status_code == 400: + raise BadRequestError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 401: + raise UnauthorizedError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + if _response.status_code == 404: + raise NotFoundError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) + _response_json = _response.json() + except JSONDecodeError: + raise core_api_error_ApiError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.text + ) + except ValidationError as e: + raise ParsingError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e + ) + raise core_api_error_ApiError( + status_code=_response.status_code, headers=dict(_response.headers), body=_response_json + ) diff --git a/src/zep_cloud/agent/trajectory_import/__init__.py b/src/zep_cloud/agent/trace/__init__.py similarity index 71% rename from src/zep_cloud/agent/trajectory_import/__init__.py rename to src/zep_cloud/agent/trace/__init__.py index f38e6f64..76c80d4a 100644 --- a/src/zep_cloud/agent/trajectory_import/__init__.py +++ b/src/zep_cloud/agent/trace/__init__.py @@ -6,9 +6,12 @@ from importlib import import_module if typing.TYPE_CHECKING: - from .types import TrajectoryImportDeleteRequestTrajectories - from . import run -_dynamic_imports: typing.Dict[str, str] = {"TrajectoryImportDeleteRequestTrajectories": ".types", "run": ".run"} + from .types import TraceListRequestOrder, TraceListRequestOrderBy, TraceListRequestSourceKind +_dynamic_imports: typing.Dict[str, str] = { + "TraceListRequestOrder": ".types", + "TraceListRequestOrderBy": ".types", + "TraceListRequestSourceKind": ".types", +} def __getattr__(attr_name: str) -> typing.Any: @@ -32,4 +35,4 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["TrajectoryImportDeleteRequestTrajectories", "run"] +__all__ = ["TraceListRequestOrder", "TraceListRequestOrderBy", "TraceListRequestSourceKind"] diff --git a/src/zep_cloud/agent/trajectory/client.py b/src/zep_cloud/agent/trace/client.py similarity index 70% rename from src/zep_cloud/agent/trajectory/client.py rename to src/zep_cloud/agent/trace/client.py index fd49d2bf..296da41c 100644 --- a/src/zep_cloud/agent/trajectory/client.py +++ b/src/zep_cloud/agent/trace/client.py @@ -5,41 +5,43 @@ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ...core.pagination import AsyncPager, SyncPager from ...core.request_options import RequestOptions -from ...types.agent_trajectory import AgentTrajectory -from ...types.agent_trajectory_close_verifier import AgentTrajectoryCloseVerifier -from ...types.agent_trajectory_event import AgentTrajectoryEvent -from ...types.agent_trajectory_event_context import AgentTrajectoryEventContext -from ...types.agent_trajectory_event_page import AgentTrajectoryEventPage -from ...types.agent_trajectory_event_source import AgentTrajectoryEventSource -from ...types.agent_trajectory_event_type import AgentTrajectoryEventType -from ...types.agent_trajectory_finalization_result import AgentTrajectoryFinalizationResult -from ...types.agent_trajectory_lifecycle import AgentTrajectoryLifecycle -from ...types.agent_trajectory_outcome import AgentTrajectoryOutcome -from ...types.agent_trajectory_page import AgentTrajectoryPage -from ...types.agent_trajectory_sequence_range import AgentTrajectorySequenceRange -from ...types.agent_trajectory_source_deletion_result import AgentTrajectorySourceDeletionResult -from ...types.agent_trajectory_summary_page import AgentTrajectorySummaryPage -from ...types.agent_trajectory_summary_version import AgentTrajectorySummaryVersion -from ...types.agent_trajectory_verification import AgentTrajectoryVerification -from .raw_client import AsyncRawTrajectoryClient, RawTrajectoryClient -from .types.trajectory_list_request_source_kind import TrajectoryListRequestSourceKind +from ...types.agent_trace import AgentTrace +from ...types.agent_trace_close_verifier import AgentTraceCloseVerifier +from ...types.agent_trace_event import AgentTraceEvent +from ...types.agent_trace_event_context import AgentTraceEventContext +from ...types.agent_trace_event_page import AgentTraceEventPage +from ...types.agent_trace_event_source import AgentTraceEventSource +from ...types.agent_trace_event_type import AgentTraceEventType +from ...types.agent_trace_finalization_result import AgentTraceFinalizationResult +from ...types.agent_trace_lifecycle import AgentTraceLifecycle +from ...types.agent_trace_outcome import AgentTraceOutcome +from ...types.agent_trace_page import AgentTracePage +from ...types.agent_trace_sequence_range import AgentTraceSequenceRange +from ...types.agent_trace_source_deletion_result import AgentTraceSourceDeletionResult +from ...types.agent_trace_summary_page import AgentTraceSummaryPage +from ...types.agent_trace_summary_version import AgentTraceSummaryVersion +from ...types.agent_trace_verification import AgentTraceVerification +from .raw_client import AsyncRawTraceClient, RawTraceClient +from .types.trace_list_request_order import TraceListRequestOrder +from .types.trace_list_request_order_by import TraceListRequestOrderBy +from .types.trace_list_request_source_kind import TraceListRequestSourceKind # this is used as the default value for optional parameters OMIT = typing.cast(typing.Any, ...) -class TrajectoryClient: +class TraceClient: def __init__(self, *, client_wrapper: SyncClientWrapper): - self._raw_client = RawTrajectoryClient(client_wrapper=client_wrapper) + self._raw_client = RawTraceClient(client_wrapper=client_wrapper) @property - def with_raw_response(self) -> RawTrajectoryClient: + def with_raw_response(self) -> RawTraceClient: """ Retrieves a raw implementation of this client that returns raw responses. Returns ------- - RawTrajectoryClient + RawTraceClient """ return self._raw_client @@ -48,14 +50,14 @@ def create( agent_uuid: str, *, objective: str, - task_family: str, learn_from: typing.Optional[bool] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - parent_trajectory_uuid: typing.Optional[str] = OMIT, - trajectory_id: typing.Optional[str] = OMIT, + parent_trace_uuid: typing.Optional[str] = OMIT, + task_family: typing.Optional[str] = OMIT, + trace_id: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectory: + ) -> AgentTrace: """ Parameters ---------- @@ -65,19 +67,20 @@ def create( objective : str The task-instance objective captured for this attempt. - task_family : str - The task-family slug. - learn_from : typing.Optional[bool] Whether eligible evidence may participate in learning. Defaults to true. metadata : typing.Optional[typing.Dict[str, typing.Any]] - Developer metadata used to organize and filter Trajectories. + Developer metadata used to organize and filter Traces. - parent_trajectory_uuid : typing.Optional[str] - The parent Trajectory UUID when this attempt retries an earlier attempt. + parent_trace_uuid : typing.Optional[str] + The parent Trace UUID when this attempt retries an earlier attempt. + + task_family : typing.Optional[str] + The task-family slug. Optional when inferred task families are enabled + for the account: the service assigns one after the Trace closes. - trajectory_id : typing.Optional[str] + trace_id : typing.Optional[str] The optional customer-assigned identifier, unique within the Agent. idempotency_key : typing.Optional[str] @@ -87,7 +90,7 @@ def create( Returns ------- - AgentTrajectory + AgentTrace OK Examples @@ -97,20 +100,19 @@ def create( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory.create( + client.agent.trace.create( agent_uuid="agent_uuid", objective="objective", - task_family="task_family", ) """ _response = self._raw_client.create( agent_uuid, objective=objective, - task_family=task_family, learn_from=learn_from, metadata=metadata, - parent_trajectory_uuid=parent_trajectory_uuid, - trajectory_id=trajectory_id, + parent_trace_uuid=parent_trace_uuid, + task_family=task_family, + trace_id=trace_id, idempotency_key=idempotency_key, request_options=request_options, ) @@ -122,16 +124,18 @@ def list( *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, + order_by: typing.Optional[TraceListRequestOrderBy] = None, + order: typing.Optional[TraceListRequestOrder] = None, import_uuid: typing.Optional[str] = None, - source_kind: typing.Optional[TrajectoryListRequestSourceKind] = None, + source_kind: typing.Optional[TraceListRequestSourceKind] = None, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - outcome: typing.Optional[AgentTrajectoryOutcome] = OMIT, - parent_trajectory_uuid: typing.Optional[str] = OMIT, - status: typing.Optional[AgentTrajectoryLifecycle] = OMIT, + outcome: typing.Optional[AgentTraceOutcome] = OMIT, + parent_trace_uuid: typing.Optional[str] = OMIT, + status: typing.Optional[AgentTraceLifecycle] = OMIT, task_family: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[AgentTrajectory, AgentTrajectoryPage]: + ) -> SyncPager[AgentTrace, AgentTracePage]: """ Parameters ---------- @@ -144,28 +148,34 @@ def list( cursor : typing.Optional[str] Opaque page cursor + order_by : typing.Optional[TraceListRequestOrderBy] + Sort field + + order : typing.Optional[TraceListRequestOrder] + asc or desc + import_uuid : typing.Optional[str] - Filter by owning Trajectory import UUID + Filter by owning Trace import UUID - source_kind : typing.Optional[TrajectoryListRequestSourceKind] + source_kind : typing.Optional[TraceListRequestSourceKind] Source kind metadata : typing.Optional[typing.Dict[str, typing.Any]] - Filters to Trajectories whose metadata contains these key-value pairs. + Filters to Traces whose metadata contains these key-value pairs. - outcome : typing.Optional[AgentTrajectoryOutcome] + outcome : typing.Optional[AgentTraceOutcome] Filters to one reported outcome. - parent_trajectory_uuid : typing.Optional[str] - Filters to direct retries of this parent Trajectory. + parent_trace_uuid : typing.Optional[str] + Filters to direct retries of this parent Trace. - status : typing.Optional[AgentTrajectoryLifecycle] + status : typing.Optional[AgentTraceLifecycle] Filters to one lifecycle state. task_family : typing.Optional[str] Filters to an exact task-family slug. - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] Filters to one verification strength. request_options : typing.Optional[RequestOptions] @@ -173,7 +183,7 @@ def list( Returns ------- - SyncPager[AgentTrajectory, AgentTrajectoryPage] + SyncPager[AgentTrace, AgentTracePage] OK Examples @@ -183,7 +193,7 @@ def list( client = Zep( api_key="YOUR_API_KEY", ) - response = client.agent.trajectory.list( + response = client.agent.trace.list( agent_uuid="agent_uuid", ) for item in response: @@ -196,11 +206,13 @@ def list( agent_uuid, limit=limit, cursor=cursor, + order_by=order_by, + order=order, import_uuid=import_uuid, source_kind=source_kind, metadata=metadata, outcome=outcome, - parent_trajectory_uuid=parent_trajectory_uuid, + parent_trace_uuid=parent_trace_uuid, status=status, task_family=task_family, verification=verification, @@ -208,23 +220,23 @@ def list( ) def get( - self, agent_uuid: str, trajectory_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> AgentTrajectory: + self, agent_uuid: str, trace_uuid: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AgentTrace: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - AgentTrajectory + AgentTrace OK Examples @@ -234,31 +246,31 @@ def get( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory.get( + client.agent.trace.get( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", ) """ - _response = self._raw_client.get(agent_uuid, trajectory_uuid, request_options=request_options) + _response = self._raw_client.get(agent_uuid, trace_uuid, request_options=request_options) return _response.data def delete( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectorySourceDeletionResult: + ) -> AgentTraceSourceDeletionResult: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int @@ -269,7 +281,7 @@ def delete( Returns ------- - AgentTrajectorySourceDeletionResult + AgentTraceSourceDeletionResult Accepted Examples @@ -279,15 +291,15 @@ def delete( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory.delete( + client.agent.trace.delete( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", expected_revision=1, ) """ _response = self._raw_client.delete( agent_uuid, - trajectory_uuid, + trace_uuid, expected_revision=expected_revision, idempotency_key=idempotency_key, request_options=request_options, @@ -297,24 +309,24 @@ def delete( def update( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, task_family: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectory: + ) -> AgentTrace: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. task_family : typing.Optional[str] Replacement task-family slug. Set to null to clear it. @@ -326,7 +338,7 @@ def update( Returns ------- - AgentTrajectory + AgentTrace OK Examples @@ -336,15 +348,15 @@ def update( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory.update( + client.agent.trace.update( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", expected_revision=1, ) """ _response = self._raw_client.update( agent_uuid, - trajectory_uuid, + trace_uuid, expected_revision=expected_revision, task_family=task_family, idempotency_key=idempotency_key, @@ -355,25 +367,25 @@ def update( def abandon( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, highest_accepted_sequence: int, assertion_uuid: typing.Optional[str] = OMIT, expected_revision: typing.Optional[int] = OMIT, - missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] = OMIT, + missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTraceSequenceRange]] = OMIT, reason: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectoryFinalizationResult: + ) -> AgentTraceFinalizationResult: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID highest_accepted_sequence : int @@ -381,11 +393,11 @@ def abandon( expected_revision : typing.Optional[int] - missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] + missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTraceSequenceRange]] reason : typing.Optional[str] - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] idempotency_key : typing.Optional[str] @@ -394,7 +406,7 @@ def abandon( Returns ------- - AgentTrajectoryFinalizationResult + AgentTraceFinalizationResult Accepted Examples @@ -404,15 +416,15 @@ def abandon( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory.abandon( + client.agent.trace.abandon( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", highest_accepted_sequence=1, ) """ _response = self._raw_client.abandon( agent_uuid, - trajectory_uuid, + trace_uuid, highest_accepted_sequence=highest_accepted_sequence, assertion_uuid=assertion_uuid, expected_revision=expected_revision, @@ -427,41 +439,41 @@ def abandon( def close( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, closing_sequence: typing.Optional[int] = OMIT, expected_revision: typing.Optional[int] = OMIT, - missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] = OMIT, - outcome: typing.Optional[AgentTrajectoryOutcome] = OMIT, + missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTraceSequenceRange]] = OMIT, + outcome: typing.Optional[AgentTraceOutcome] = OMIT, reason: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, - verifier: typing.Optional[AgentTrajectoryCloseVerifier] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, + verifier: typing.Optional[AgentTraceCloseVerifier] = OMIT, verifier_id: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectoryFinalizationResult: + ) -> AgentTraceFinalizationResult: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID closing_sequence : typing.Optional[int] expected_revision : typing.Optional[int] - missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] + missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTraceSequenceRange]] - outcome : typing.Optional[AgentTrajectoryOutcome] + outcome : typing.Optional[AgentTraceOutcome] reason : typing.Optional[str] - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] - verifier : typing.Optional[AgentTrajectoryCloseVerifier] + verifier : typing.Optional[AgentTraceCloseVerifier] verifier_id : typing.Optional[str] @@ -472,7 +484,7 @@ def close( Returns ------- - AgentTrajectoryFinalizationResult + AgentTraceFinalizationResult Accepted Examples @@ -482,14 +494,14 @@ def close( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory.close( + client.agent.trace.close( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", ) """ _response = self._raw_client.close( agent_uuid, - trajectory_uuid, + trace_uuid, closing_sequence=closing_sequence, expected_revision=expected_revision, missing_sequence_ranges=missing_sequence_ranges, @@ -506,28 +518,28 @@ def close( def correct_task_family( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, reason: str, task_family: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectoryFinalizationResult: + ) -> AgentTraceFinalizationResult: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. reason : str - Why the terminal Trajectory classification is being corrected. + Why the terminal Trace classification is being corrected. task_family : typing.Optional[str] Replacement task-family slug. Set to null to clear it. @@ -539,7 +551,7 @@ def correct_task_family( Returns ------- - AgentTrajectoryFinalizationResult + AgentTraceFinalizationResult Accepted Examples @@ -549,16 +561,16 @@ def correct_task_family( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory.correct_task_family( + client.agent.trace.correct_task_family( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", expected_revision=1, reason="reason", ) """ _response = self._raw_client.correct_task_family( agent_uuid, - trajectory_uuid, + trace_uuid, expected_revision=expected_revision, reason=reason, task_family=task_family, @@ -570,20 +582,20 @@ def correct_task_family( def list_events( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[AgentTrajectoryEvent, AgentTrajectoryEventPage]: + ) -> SyncPager[AgentTraceEvent, AgentTraceEventPage]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID limit : typing.Optional[int] Page size (maximum 100) @@ -596,7 +608,7 @@ def list_events( Returns ------- - SyncPager[AgentTrajectoryEvent, AgentTrajectoryEventPage] + SyncPager[AgentTraceEvent, AgentTraceEventPage] OK Examples @@ -606,9 +618,9 @@ def list_events( client = Zep( api_key="YOUR_API_KEY", ) - response = client.agent.trajectory.list_events( + response = client.agent.trace.list_events( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", ) for item in response: yield item @@ -617,39 +629,39 @@ def list_events( yield page """ return self._raw_client.list_events( - agent_uuid, trajectory_uuid, limit=limit, cursor=cursor, request_options=request_options + agent_uuid, trace_uuid, limit=limit, cursor=cursor, request_options=request_options ) def append_event( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, - event_type: AgentTrajectoryEventType, + event_type: AgentTraceEventType, content: typing.Optional[str] = OMIT, - context: typing.Optional[AgentTrajectoryEventContext] = OMIT, + context: typing.Optional[AgentTraceEventContext] = OMIT, event_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, occurred_at: typing.Optional[str] = OMIT, sequence: typing.Optional[int] = OMIT, - sources: typing.Optional[typing.Sequence[AgentTrajectoryEventSource]] = OMIT, + sources: typing.Optional[typing.Sequence[AgentTraceEventSource]] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectoryEvent: + ) -> AgentTraceEvent: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID - event_type : AgentTrajectoryEventType + event_type : AgentTraceEventType content : typing.Optional[str] - context : typing.Optional[AgentTrajectoryEventContext] + context : typing.Optional[AgentTraceEventContext] event_id : typing.Optional[str] @@ -659,7 +671,7 @@ def append_event( sequence : typing.Optional[int] - sources : typing.Optional[typing.Sequence[AgentTrajectoryEventSource]] + sources : typing.Optional[typing.Sequence[AgentTraceEventSource]] idempotency_key : typing.Optional[str] @@ -668,7 +680,7 @@ def append_event( Returns ------- - AgentTrajectoryEvent + AgentTraceEvent OK Examples @@ -678,15 +690,15 @@ def append_event( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory.append_event( + client.agent.trace.append_event( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", event_type="input_reference", ) """ _response = self._raw_client.append_event( agent_uuid, - trajectory_uuid, + trace_uuid, event_type=event_type, content=content, context=context, @@ -703,21 +715,21 @@ def append_event( def delete_event( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, event_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectorySourceDeletionResult: + ) -> AgentTraceSourceDeletionResult: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID event_uuid : str Event UUID @@ -731,7 +743,7 @@ def delete_event( Returns ------- - AgentTrajectorySourceDeletionResult + AgentTraceSourceDeletionResult Accepted Examples @@ -741,16 +753,16 @@ def delete_event( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory.delete_event( + client.agent.trace.delete_event( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", event_uuid="event_uuid", expected_revision=1, ) """ _response = self._raw_client.delete_event( agent_uuid, - trajectory_uuid, + trace_uuid, event_uuid, expected_revision=expected_revision, idempotency_key=idempotency_key, @@ -761,23 +773,23 @@ def delete_event( def reopen( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectory: + ) -> AgentTrace: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. idempotency_key : typing.Optional[str] @@ -786,7 +798,7 @@ def reopen( Returns ------- - AgentTrajectory + AgentTrace OK Examples @@ -796,15 +808,15 @@ def reopen( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory.reopen( + client.agent.trace.reopen( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", expected_revision=1, ) """ _response = self._raw_client.reopen( agent_uuid, - trajectory_uuid, + trace_uuid, expected_revision=expected_revision, idempotency_key=idempotency_key, request_options=request_options, @@ -812,23 +824,23 @@ def reopen( return _response.data def get_summary( - self, agent_uuid: str, trajectory_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> AgentTrajectorySummaryVersion: + self, agent_uuid: str, trace_uuid: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AgentTraceSummaryVersion: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - AgentTrajectorySummaryVersion + AgentTraceSummaryVersion OK Examples @@ -838,31 +850,31 @@ def get_summary( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory.get_summary( + client.agent.trace.get_summary( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", ) """ - _response = self._raw_client.get_summary(agent_uuid, trajectory_uuid, request_options=request_options) + _response = self._raw_client.get_summary(agent_uuid, trace_uuid, request_options=request_options) return _response.data def list_summary_versions( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[AgentTrajectorySummaryVersion, AgentTrajectorySummaryPage]: + ) -> SyncPager[AgentTraceSummaryVersion, AgentTraceSummaryPage]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID limit : typing.Optional[int] Page size (maximum 100) @@ -875,7 +887,7 @@ def list_summary_versions( Returns ------- - SyncPager[AgentTrajectorySummaryVersion, AgentTrajectorySummaryPage] + SyncPager[AgentTraceSummaryVersion, AgentTraceSummaryPage] OK Examples @@ -885,9 +897,9 @@ def list_summary_versions( client = Zep( api_key="YOUR_API_KEY", ) - response = client.agent.trajectory.list_summary_versions( + response = client.agent.trace.list_summary_versions( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", ) for item in response: yield item @@ -896,22 +908,22 @@ def list_summary_versions( yield page """ return self._raw_client.list_summary_versions( - agent_uuid, trajectory_uuid, limit=limit, cursor=cursor, request_options=request_options + agent_uuid, trace_uuid, limit=limit, cursor=cursor, request_options=request_options ) -class AsyncTrajectoryClient: +class AsyncTraceClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): - self._raw_client = AsyncRawTrajectoryClient(client_wrapper=client_wrapper) + self._raw_client = AsyncRawTraceClient(client_wrapper=client_wrapper) @property - def with_raw_response(self) -> AsyncRawTrajectoryClient: + def with_raw_response(self) -> AsyncRawTraceClient: """ Retrieves a raw implementation of this client that returns raw responses. Returns ------- - AsyncRawTrajectoryClient + AsyncRawTraceClient """ return self._raw_client @@ -920,14 +932,14 @@ async def create( agent_uuid: str, *, objective: str, - task_family: str, learn_from: typing.Optional[bool] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - parent_trajectory_uuid: typing.Optional[str] = OMIT, - trajectory_id: typing.Optional[str] = OMIT, + parent_trace_uuid: typing.Optional[str] = OMIT, + task_family: typing.Optional[str] = OMIT, + trace_id: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectory: + ) -> AgentTrace: """ Parameters ---------- @@ -937,19 +949,20 @@ async def create( objective : str The task-instance objective captured for this attempt. - task_family : str - The task-family slug. - learn_from : typing.Optional[bool] Whether eligible evidence may participate in learning. Defaults to true. metadata : typing.Optional[typing.Dict[str, typing.Any]] - Developer metadata used to organize and filter Trajectories. + Developer metadata used to organize and filter Traces. - parent_trajectory_uuid : typing.Optional[str] - The parent Trajectory UUID when this attempt retries an earlier attempt. + parent_trace_uuid : typing.Optional[str] + The parent Trace UUID when this attempt retries an earlier attempt. + + task_family : typing.Optional[str] + The task-family slug. Optional when inferred task families are enabled + for the account: the service assigns one after the Trace closes. - trajectory_id : typing.Optional[str] + trace_id : typing.Optional[str] The optional customer-assigned identifier, unique within the Agent. idempotency_key : typing.Optional[str] @@ -959,7 +972,7 @@ async def create( Returns ------- - AgentTrajectory + AgentTrace OK Examples @@ -974,10 +987,9 @@ async def create( async def main() -> None: - await client.agent.trajectory.create( + await client.agent.trace.create( agent_uuid="agent_uuid", objective="objective", - task_family="task_family", ) @@ -986,11 +998,11 @@ async def main() -> None: _response = await self._raw_client.create( agent_uuid, objective=objective, - task_family=task_family, learn_from=learn_from, metadata=metadata, - parent_trajectory_uuid=parent_trajectory_uuid, - trajectory_id=trajectory_id, + parent_trace_uuid=parent_trace_uuid, + task_family=task_family, + trace_id=trace_id, idempotency_key=idempotency_key, request_options=request_options, ) @@ -1002,16 +1014,18 @@ async def list( *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, + order_by: typing.Optional[TraceListRequestOrderBy] = None, + order: typing.Optional[TraceListRequestOrder] = None, import_uuid: typing.Optional[str] = None, - source_kind: typing.Optional[TrajectoryListRequestSourceKind] = None, + source_kind: typing.Optional[TraceListRequestSourceKind] = None, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - outcome: typing.Optional[AgentTrajectoryOutcome] = OMIT, - parent_trajectory_uuid: typing.Optional[str] = OMIT, - status: typing.Optional[AgentTrajectoryLifecycle] = OMIT, + outcome: typing.Optional[AgentTraceOutcome] = OMIT, + parent_trace_uuid: typing.Optional[str] = OMIT, + status: typing.Optional[AgentTraceLifecycle] = OMIT, task_family: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[AgentTrajectory, AgentTrajectoryPage]: + ) -> AsyncPager[AgentTrace, AgentTracePage]: """ Parameters ---------- @@ -1024,28 +1038,34 @@ async def list( cursor : typing.Optional[str] Opaque page cursor + order_by : typing.Optional[TraceListRequestOrderBy] + Sort field + + order : typing.Optional[TraceListRequestOrder] + asc or desc + import_uuid : typing.Optional[str] - Filter by owning Trajectory import UUID + Filter by owning Trace import UUID - source_kind : typing.Optional[TrajectoryListRequestSourceKind] + source_kind : typing.Optional[TraceListRequestSourceKind] Source kind metadata : typing.Optional[typing.Dict[str, typing.Any]] - Filters to Trajectories whose metadata contains these key-value pairs. + Filters to Traces whose metadata contains these key-value pairs. - outcome : typing.Optional[AgentTrajectoryOutcome] + outcome : typing.Optional[AgentTraceOutcome] Filters to one reported outcome. - parent_trajectory_uuid : typing.Optional[str] - Filters to direct retries of this parent Trajectory. + parent_trace_uuid : typing.Optional[str] + Filters to direct retries of this parent Trace. - status : typing.Optional[AgentTrajectoryLifecycle] + status : typing.Optional[AgentTraceLifecycle] Filters to one lifecycle state. task_family : typing.Optional[str] Filters to an exact task-family slug. - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] Filters to one verification strength. request_options : typing.Optional[RequestOptions] @@ -1053,7 +1073,7 @@ async def list( Returns ------- - AsyncPager[AgentTrajectory, AgentTrajectoryPage] + AsyncPager[AgentTrace, AgentTracePage] OK Examples @@ -1068,7 +1088,7 @@ async def list( async def main() -> None: - response = await client.agent.trajectory.list( + response = await client.agent.trace.list( agent_uuid="agent_uuid", ) async for item in response: @@ -1085,11 +1105,13 @@ async def main() -> None: agent_uuid, limit=limit, cursor=cursor, + order_by=order_by, + order=order, import_uuid=import_uuid, source_kind=source_kind, metadata=metadata, outcome=outcome, - parent_trajectory_uuid=parent_trajectory_uuid, + parent_trace_uuid=parent_trace_uuid, status=status, task_family=task_family, verification=verification, @@ -1097,23 +1119,23 @@ async def main() -> None: ) async def get( - self, agent_uuid: str, trajectory_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> AgentTrajectory: + self, agent_uuid: str, trace_uuid: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AgentTrace: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - AgentTrajectory + AgentTrace OK Examples @@ -1128,34 +1150,34 @@ async def get( async def main() -> None: - await client.agent.trajectory.get( + await client.agent.trace.get( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", ) asyncio.run(main()) """ - _response = await self._raw_client.get(agent_uuid, trajectory_uuid, request_options=request_options) + _response = await self._raw_client.get(agent_uuid, trace_uuid, request_options=request_options) return _response.data async def delete( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectorySourceDeletionResult: + ) -> AgentTraceSourceDeletionResult: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int @@ -1166,7 +1188,7 @@ async def delete( Returns ------- - AgentTrajectorySourceDeletionResult + AgentTraceSourceDeletionResult Accepted Examples @@ -1181,9 +1203,9 @@ async def delete( async def main() -> None: - await client.agent.trajectory.delete( + await client.agent.trace.delete( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", expected_revision=1, ) @@ -1192,7 +1214,7 @@ async def main() -> None: """ _response = await self._raw_client.delete( agent_uuid, - trajectory_uuid, + trace_uuid, expected_revision=expected_revision, idempotency_key=idempotency_key, request_options=request_options, @@ -1202,24 +1224,24 @@ async def main() -> None: async def update( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, task_family: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectory: + ) -> AgentTrace: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. task_family : typing.Optional[str] Replacement task-family slug. Set to null to clear it. @@ -1231,7 +1253,7 @@ async def update( Returns ------- - AgentTrajectory + AgentTrace OK Examples @@ -1246,9 +1268,9 @@ async def update( async def main() -> None: - await client.agent.trajectory.update( + await client.agent.trace.update( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", expected_revision=1, ) @@ -1257,7 +1279,7 @@ async def main() -> None: """ _response = await self._raw_client.update( agent_uuid, - trajectory_uuid, + trace_uuid, expected_revision=expected_revision, task_family=task_family, idempotency_key=idempotency_key, @@ -1268,25 +1290,25 @@ async def main() -> None: async def abandon( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, highest_accepted_sequence: int, assertion_uuid: typing.Optional[str] = OMIT, expected_revision: typing.Optional[int] = OMIT, - missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] = OMIT, + missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTraceSequenceRange]] = OMIT, reason: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectoryFinalizationResult: + ) -> AgentTraceFinalizationResult: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID highest_accepted_sequence : int @@ -1294,11 +1316,11 @@ async def abandon( expected_revision : typing.Optional[int] - missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] + missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTraceSequenceRange]] reason : typing.Optional[str] - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] idempotency_key : typing.Optional[str] @@ -1307,7 +1329,7 @@ async def abandon( Returns ------- - AgentTrajectoryFinalizationResult + AgentTraceFinalizationResult Accepted Examples @@ -1322,9 +1344,9 @@ async def abandon( async def main() -> None: - await client.agent.trajectory.abandon( + await client.agent.trace.abandon( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", highest_accepted_sequence=1, ) @@ -1333,7 +1355,7 @@ async def main() -> None: """ _response = await self._raw_client.abandon( agent_uuid, - trajectory_uuid, + trace_uuid, highest_accepted_sequence=highest_accepted_sequence, assertion_uuid=assertion_uuid, expected_revision=expected_revision, @@ -1348,41 +1370,41 @@ async def main() -> None: async def close( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, closing_sequence: typing.Optional[int] = OMIT, expected_revision: typing.Optional[int] = OMIT, - missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] = OMIT, - outcome: typing.Optional[AgentTrajectoryOutcome] = OMIT, + missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTraceSequenceRange]] = OMIT, + outcome: typing.Optional[AgentTraceOutcome] = OMIT, reason: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, - verifier: typing.Optional[AgentTrajectoryCloseVerifier] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, + verifier: typing.Optional[AgentTraceCloseVerifier] = OMIT, verifier_id: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectoryFinalizationResult: + ) -> AgentTraceFinalizationResult: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID closing_sequence : typing.Optional[int] expected_revision : typing.Optional[int] - missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] + missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTraceSequenceRange]] - outcome : typing.Optional[AgentTrajectoryOutcome] + outcome : typing.Optional[AgentTraceOutcome] reason : typing.Optional[str] - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] - verifier : typing.Optional[AgentTrajectoryCloseVerifier] + verifier : typing.Optional[AgentTraceCloseVerifier] verifier_id : typing.Optional[str] @@ -1393,7 +1415,7 @@ async def close( Returns ------- - AgentTrajectoryFinalizationResult + AgentTraceFinalizationResult Accepted Examples @@ -1408,9 +1430,9 @@ async def close( async def main() -> None: - await client.agent.trajectory.close( + await client.agent.trace.close( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", ) @@ -1418,7 +1440,7 @@ async def main() -> None: """ _response = await self._raw_client.close( agent_uuid, - trajectory_uuid, + trace_uuid, closing_sequence=closing_sequence, expected_revision=expected_revision, missing_sequence_ranges=missing_sequence_ranges, @@ -1435,28 +1457,28 @@ async def main() -> None: async def correct_task_family( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, reason: str, task_family: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectoryFinalizationResult: + ) -> AgentTraceFinalizationResult: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. reason : str - Why the terminal Trajectory classification is being corrected. + Why the terminal Trace classification is being corrected. task_family : typing.Optional[str] Replacement task-family slug. Set to null to clear it. @@ -1468,7 +1490,7 @@ async def correct_task_family( Returns ------- - AgentTrajectoryFinalizationResult + AgentTraceFinalizationResult Accepted Examples @@ -1483,9 +1505,9 @@ async def correct_task_family( async def main() -> None: - await client.agent.trajectory.correct_task_family( + await client.agent.trace.correct_task_family( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", expected_revision=1, reason="reason", ) @@ -1495,7 +1517,7 @@ async def main() -> None: """ _response = await self._raw_client.correct_task_family( agent_uuid, - trajectory_uuid, + trace_uuid, expected_revision=expected_revision, reason=reason, task_family=task_family, @@ -1507,20 +1529,20 @@ async def main() -> None: async def list_events( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[AgentTrajectoryEvent, AgentTrajectoryEventPage]: + ) -> AsyncPager[AgentTraceEvent, AgentTraceEventPage]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID limit : typing.Optional[int] Page size (maximum 100) @@ -1533,7 +1555,7 @@ async def list_events( Returns ------- - AsyncPager[AgentTrajectoryEvent, AgentTrajectoryEventPage] + AsyncPager[AgentTraceEvent, AgentTraceEventPage] OK Examples @@ -1548,9 +1570,9 @@ async def list_events( async def main() -> None: - response = await client.agent.trajectory.list_events( + response = await client.agent.trace.list_events( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", ) async for item in response: yield item @@ -1563,39 +1585,39 @@ async def main() -> None: asyncio.run(main()) """ return await self._raw_client.list_events( - agent_uuid, trajectory_uuid, limit=limit, cursor=cursor, request_options=request_options + agent_uuid, trace_uuid, limit=limit, cursor=cursor, request_options=request_options ) async def append_event( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, - event_type: AgentTrajectoryEventType, + event_type: AgentTraceEventType, content: typing.Optional[str] = OMIT, - context: typing.Optional[AgentTrajectoryEventContext] = OMIT, + context: typing.Optional[AgentTraceEventContext] = OMIT, event_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, occurred_at: typing.Optional[str] = OMIT, sequence: typing.Optional[int] = OMIT, - sources: typing.Optional[typing.Sequence[AgentTrajectoryEventSource]] = OMIT, + sources: typing.Optional[typing.Sequence[AgentTraceEventSource]] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectoryEvent: + ) -> AgentTraceEvent: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID - event_type : AgentTrajectoryEventType + event_type : AgentTraceEventType content : typing.Optional[str] - context : typing.Optional[AgentTrajectoryEventContext] + context : typing.Optional[AgentTraceEventContext] event_id : typing.Optional[str] @@ -1605,7 +1627,7 @@ async def append_event( sequence : typing.Optional[int] - sources : typing.Optional[typing.Sequence[AgentTrajectoryEventSource]] + sources : typing.Optional[typing.Sequence[AgentTraceEventSource]] idempotency_key : typing.Optional[str] @@ -1614,7 +1636,7 @@ async def append_event( Returns ------- - AgentTrajectoryEvent + AgentTraceEvent OK Examples @@ -1629,9 +1651,9 @@ async def append_event( async def main() -> None: - await client.agent.trajectory.append_event( + await client.agent.trace.append_event( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", event_type="input_reference", ) @@ -1640,7 +1662,7 @@ async def main() -> None: """ _response = await self._raw_client.append_event( agent_uuid, - trajectory_uuid, + trace_uuid, event_type=event_type, content=content, context=context, @@ -1657,21 +1679,21 @@ async def main() -> None: async def delete_event( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, event_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectorySourceDeletionResult: + ) -> AgentTraceSourceDeletionResult: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID event_uuid : str Event UUID @@ -1685,7 +1707,7 @@ async def delete_event( Returns ------- - AgentTrajectorySourceDeletionResult + AgentTraceSourceDeletionResult Accepted Examples @@ -1700,9 +1722,9 @@ async def delete_event( async def main() -> None: - await client.agent.trajectory.delete_event( + await client.agent.trace.delete_event( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", event_uuid="event_uuid", expected_revision=1, ) @@ -1712,7 +1734,7 @@ async def main() -> None: """ _response = await self._raw_client.delete_event( agent_uuid, - trajectory_uuid, + trace_uuid, event_uuid, expected_revision=expected_revision, idempotency_key=idempotency_key, @@ -1723,23 +1745,23 @@ async def main() -> None: async def reopen( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AgentTrajectory: + ) -> AgentTrace: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. idempotency_key : typing.Optional[str] @@ -1748,7 +1770,7 @@ async def reopen( Returns ------- - AgentTrajectory + AgentTrace OK Examples @@ -1763,9 +1785,9 @@ async def reopen( async def main() -> None: - await client.agent.trajectory.reopen( + await client.agent.trace.reopen( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", expected_revision=1, ) @@ -1774,7 +1796,7 @@ async def main() -> None: """ _response = await self._raw_client.reopen( agent_uuid, - trajectory_uuid, + trace_uuid, expected_revision=expected_revision, idempotency_key=idempotency_key, request_options=request_options, @@ -1782,23 +1804,23 @@ async def main() -> None: return _response.data async def get_summary( - self, agent_uuid: str, trajectory_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> AgentTrajectorySummaryVersion: + self, agent_uuid: str, trace_uuid: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AgentTraceSummaryVersion: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - AgentTrajectorySummaryVersion + AgentTraceSummaryVersion OK Examples @@ -1813,34 +1835,34 @@ async def get_summary( async def main() -> None: - await client.agent.trajectory.get_summary( + await client.agent.trace.get_summary( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", ) asyncio.run(main()) """ - _response = await self._raw_client.get_summary(agent_uuid, trajectory_uuid, request_options=request_options) + _response = await self._raw_client.get_summary(agent_uuid, trace_uuid, request_options=request_options) return _response.data async def list_summary_versions( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[AgentTrajectorySummaryVersion, AgentTrajectorySummaryPage]: + ) -> AsyncPager[AgentTraceSummaryVersion, AgentTraceSummaryPage]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID limit : typing.Optional[int] Page size (maximum 100) @@ -1853,7 +1875,7 @@ async def list_summary_versions( Returns ------- - AsyncPager[AgentTrajectorySummaryVersion, AgentTrajectorySummaryPage] + AsyncPager[AgentTraceSummaryVersion, AgentTraceSummaryPage] OK Examples @@ -1868,9 +1890,9 @@ async def list_summary_versions( async def main() -> None: - response = await client.agent.trajectory.list_summary_versions( + response = await client.agent.trace.list_summary_versions( agent_uuid="agent_uuid", - trajectory_uuid="trajectory_uuid", + trace_uuid="trace_uuid", ) async for item in response: yield item @@ -1883,5 +1905,5 @@ async def main() -> None: asyncio.run(main()) """ return await self._raw_client.list_summary_versions( - agent_uuid, trajectory_uuid, limit=limit, cursor=cursor, request_options=request_options + agent_uuid, trace_uuid, limit=limit, cursor=cursor, request_options=request_options ) diff --git a/src/zep_cloud/agent/trajectory/raw_client.py b/src/zep_cloud/agent/trace/raw_client.py similarity index 82% rename from src/zep_cloud/agent/trajectory/raw_client.py rename to src/zep_cloud/agent/trace/raw_client.py index d1e19ad1..61ce7c1d 100644 --- a/src/zep_cloud/agent/trajectory/raw_client.py +++ b/src/zep_cloud/agent/trace/raw_client.py @@ -19,31 +19,33 @@ from ...errors.not_found_error import NotFoundError from ...errors.service_unavailable_error import ServiceUnavailableError from ...errors.unauthorized_error import UnauthorizedError -from ...types.agent_trajectory import AgentTrajectory -from ...types.agent_trajectory_close_verifier import AgentTrajectoryCloseVerifier -from ...types.agent_trajectory_event import AgentTrajectoryEvent -from ...types.agent_trajectory_event_context import AgentTrajectoryEventContext -from ...types.agent_trajectory_event_page import AgentTrajectoryEventPage -from ...types.agent_trajectory_event_source import AgentTrajectoryEventSource -from ...types.agent_trajectory_event_type import AgentTrajectoryEventType -from ...types.agent_trajectory_finalization_result import AgentTrajectoryFinalizationResult -from ...types.agent_trajectory_lifecycle import AgentTrajectoryLifecycle -from ...types.agent_trajectory_outcome import AgentTrajectoryOutcome -from ...types.agent_trajectory_page import AgentTrajectoryPage -from ...types.agent_trajectory_sequence_range import AgentTrajectorySequenceRange -from ...types.agent_trajectory_source_deletion_result import AgentTrajectorySourceDeletionResult -from ...types.agent_trajectory_summary_page import AgentTrajectorySummaryPage -from ...types.agent_trajectory_summary_version import AgentTrajectorySummaryVersion -from ...types.agent_trajectory_verification import AgentTrajectoryVerification +from ...types.agent_trace import AgentTrace +from ...types.agent_trace_close_verifier import AgentTraceCloseVerifier +from ...types.agent_trace_event import AgentTraceEvent +from ...types.agent_trace_event_context import AgentTraceEventContext +from ...types.agent_trace_event_page import AgentTraceEventPage +from ...types.agent_trace_event_source import AgentTraceEventSource +from ...types.agent_trace_event_type import AgentTraceEventType +from ...types.agent_trace_finalization_result import AgentTraceFinalizationResult +from ...types.agent_trace_lifecycle import AgentTraceLifecycle +from ...types.agent_trace_outcome import AgentTraceOutcome +from ...types.agent_trace_page import AgentTracePage +from ...types.agent_trace_sequence_range import AgentTraceSequenceRange +from ...types.agent_trace_source_deletion_result import AgentTraceSourceDeletionResult +from ...types.agent_trace_summary_page import AgentTraceSummaryPage +from ...types.agent_trace_summary_version import AgentTraceSummaryVersion +from ...types.agent_trace_verification import AgentTraceVerification from ...types.api_error import ApiError as types_api_error_ApiError -from .types.trajectory_list_request_source_kind import TrajectoryListRequestSourceKind +from .types.trace_list_request_order import TraceListRequestOrder +from .types.trace_list_request_order_by import TraceListRequestOrderBy +from .types.trace_list_request_source_kind import TraceListRequestSourceKind from pydantic import ValidationError # this is used as the default value for optional parameters OMIT = typing.cast(typing.Any, ...) -class RawTrajectoryClient: +class RawTraceClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper @@ -52,14 +54,14 @@ def create( agent_uuid: str, *, objective: str, - task_family: str, learn_from: typing.Optional[bool] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - parent_trajectory_uuid: typing.Optional[str] = OMIT, - trajectory_id: typing.Optional[str] = OMIT, + parent_trace_uuid: typing.Optional[str] = OMIT, + task_family: typing.Optional[str] = OMIT, + trace_id: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[AgentTrajectory]: + ) -> HttpResponse[AgentTrace]: """ Parameters ---------- @@ -69,19 +71,20 @@ def create( objective : str The task-instance objective captured for this attempt. - task_family : str - The task-family slug. - learn_from : typing.Optional[bool] Whether eligible evidence may participate in learning. Defaults to true. metadata : typing.Optional[typing.Dict[str, typing.Any]] - Developer metadata used to organize and filter Trajectories. + Developer metadata used to organize and filter Traces. + + parent_trace_uuid : typing.Optional[str] + The parent Trace UUID when this attempt retries an earlier attempt. - parent_trajectory_uuid : typing.Optional[str] - The parent Trajectory UUID when this attempt retries an earlier attempt. + task_family : typing.Optional[str] + The task-family slug. Optional when inferred task families are enabled + for the account: the service assigns one after the Trace closes. - trajectory_id : typing.Optional[str] + trace_id : typing.Optional[str] The optional customer-assigned identifier, unique within the Agent. idempotency_key : typing.Optional[str] @@ -91,19 +94,19 @@ def create( Returns ------- - HttpResponse[AgentTrajectory] + HttpResponse[AgentTrace] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories", + f"agents/{encode_path_param(agent_uuid)}/traces", method="POST", json={ "learn_from": learn_from, "metadata": metadata, "objective": objective, - "parent_trajectory_uuid": parent_trajectory_uuid, + "parent_trace_uuid": parent_trace_uuid, "task_family": task_family, - "trajectory_id": trajectory_id, + "trace_id": trace_id, }, headers={ "content-type": "application/json", @@ -115,9 +118,9 @@ def create( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectory, + AgentTrace, parse_obj_as( - type_=AgentTrajectory, # type: ignore + type_=AgentTrace, # type: ignore object_=_response.json(), ), ) @@ -196,16 +199,18 @@ def list( *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, + order_by: typing.Optional[TraceListRequestOrderBy] = None, + order: typing.Optional[TraceListRequestOrder] = None, import_uuid: typing.Optional[str] = None, - source_kind: typing.Optional[TrajectoryListRequestSourceKind] = None, + source_kind: typing.Optional[TraceListRequestSourceKind] = None, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - outcome: typing.Optional[AgentTrajectoryOutcome] = OMIT, - parent_trajectory_uuid: typing.Optional[str] = OMIT, - status: typing.Optional[AgentTrajectoryLifecycle] = OMIT, + outcome: typing.Optional[AgentTraceOutcome] = OMIT, + parent_trace_uuid: typing.Optional[str] = OMIT, + status: typing.Optional[AgentTraceLifecycle] = OMIT, task_family: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[AgentTrajectory, AgentTrajectoryPage]: + ) -> SyncPager[AgentTrace, AgentTracePage]: """ Parameters ---------- @@ -218,28 +223,34 @@ def list( cursor : typing.Optional[str] Opaque page cursor + order_by : typing.Optional[TraceListRequestOrderBy] + Sort field + + order : typing.Optional[TraceListRequestOrder] + asc or desc + import_uuid : typing.Optional[str] - Filter by owning Trajectory import UUID + Filter by owning Trace import UUID - source_kind : typing.Optional[TrajectoryListRequestSourceKind] + source_kind : typing.Optional[TraceListRequestSourceKind] Source kind metadata : typing.Optional[typing.Dict[str, typing.Any]] - Filters to Trajectories whose metadata contains these key-value pairs. + Filters to Traces whose metadata contains these key-value pairs. - outcome : typing.Optional[AgentTrajectoryOutcome] + outcome : typing.Optional[AgentTraceOutcome] Filters to one reported outcome. - parent_trajectory_uuid : typing.Optional[str] - Filters to direct retries of this parent Trajectory. + parent_trace_uuid : typing.Optional[str] + Filters to direct retries of this parent Trace. - status : typing.Optional[AgentTrajectoryLifecycle] + status : typing.Optional[AgentTraceLifecycle] Filters to one lifecycle state. task_family : typing.Optional[str] Filters to an exact task-family slug. - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] Filters to one verification strength. request_options : typing.Optional[RequestOptions] @@ -247,22 +258,24 @@ def list( Returns ------- - SyncPager[AgentTrajectory, AgentTrajectoryPage] + SyncPager[AgentTrace, AgentTracePage] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/list", + f"agents/{encode_path_param(agent_uuid)}/traces/list", method="POST", params={ "limit": limit, "cursor": cursor, + "order_by": order_by, + "order": order, "import_uuid": import_uuid, "source_kind": source_kind, }, json={ "metadata": metadata, "outcome": outcome, - "parent_trajectory_uuid": parent_trajectory_uuid, + "parent_trace_uuid": parent_trace_uuid, "status": status, "task_family": task_family, "verification": verification, @@ -277,9 +290,9 @@ def list( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - AgentTrajectoryPage, + AgentTracePage, parse_obj_as( - type_=AgentTrajectoryPage, # type: ignore + type_=AgentTracePage, # type: ignore object_=_response.json(), ), ) @@ -290,11 +303,13 @@ def list( agent_uuid, limit=limit, cursor=_parsed_next, + order_by=order_by, + order=order, import_uuid=import_uuid, source_kind=source_kind, metadata=metadata, outcome=outcome, - parent_trajectory_uuid=parent_trajectory_uuid, + parent_trace_uuid=parent_trace_uuid, status=status, task_family=task_family, verification=verification, @@ -359,36 +374,36 @@ def list( ) def get( - self, agent_uuid: str, trajectory_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> HttpResponse[AgentTrajectory]: + self, agent_uuid: str, trace_uuid: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[AgentTrace]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - HttpResponse[AgentTrajectory] + HttpResponse[AgentTrace] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}", method="GET", request_options=request_options, ) try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectory, + AgentTrace, parse_obj_as( - type_=AgentTrajectory, # type: ignore + type_=AgentTrace, # type: ignore object_=_response.json(), ), ) @@ -453,20 +468,20 @@ def get( def delete( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[AgentTrajectorySourceDeletionResult]: + ) -> HttpResponse[AgentTraceSourceDeletionResult]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int @@ -477,11 +492,11 @@ def delete( Returns ------- - HttpResponse[AgentTrajectorySourceDeletionResult] + HttpResponse[AgentTraceSourceDeletionResult] Accepted """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}", method="DELETE", json={ "expected_revision": expected_revision, @@ -496,9 +511,9 @@ def delete( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectorySourceDeletionResult, + AgentTraceSourceDeletionResult, parse_obj_as( - type_=AgentTrajectorySourceDeletionResult, # type: ignore + type_=AgentTraceSourceDeletionResult, # type: ignore object_=_response.json(), ), ) @@ -519,24 +534,24 @@ def delete( def update( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, task_family: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[AgentTrajectory]: + ) -> HttpResponse[AgentTrace]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. task_family : typing.Optional[str] Replacement task-family slug. Set to null to clear it. @@ -548,11 +563,11 @@ def update( Returns ------- - HttpResponse[AgentTrajectory] + HttpResponse[AgentTrace] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}", method="PATCH", json={ "expected_revision": expected_revision, @@ -568,9 +583,9 @@ def update( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectory, + AgentTrace, parse_obj_as( - type_=AgentTrajectory, # type: ignore + type_=AgentTrace, # type: ignore object_=_response.json(), ), ) @@ -646,25 +661,25 @@ def update( def abandon( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, highest_accepted_sequence: int, assertion_uuid: typing.Optional[str] = OMIT, expected_revision: typing.Optional[int] = OMIT, - missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] = OMIT, + missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTraceSequenceRange]] = OMIT, reason: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[AgentTrajectoryFinalizationResult]: + ) -> HttpResponse[AgentTraceFinalizationResult]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID highest_accepted_sequence : int @@ -672,11 +687,11 @@ def abandon( expected_revision : typing.Optional[int] - missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] + missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTraceSequenceRange]] reason : typing.Optional[str] - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] idempotency_key : typing.Optional[str] @@ -685,11 +700,11 @@ def abandon( Returns ------- - HttpResponse[AgentTrajectoryFinalizationResult] + HttpResponse[AgentTraceFinalizationResult] Accepted """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/abandon", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/abandon", method="POST", json={ "assertion_uuid": assertion_uuid, @@ -697,7 +712,7 @@ def abandon( "highest_accepted_sequence": highest_accepted_sequence, "missing_sequence_ranges": convert_and_respect_annotation_metadata( object_=missing_sequence_ranges, - annotation=typing.Sequence[AgentTrajectorySequenceRange], + annotation=typing.Sequence[AgentTraceSequenceRange], direction="write", ), "reason": reason, @@ -713,9 +728,9 @@ def abandon( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectoryFinalizationResult, + AgentTraceFinalizationResult, parse_obj_as( - type_=AgentTrajectoryFinalizationResult, # type: ignore + type_=AgentTraceFinalizationResult, # type: ignore object_=_response.json(), ), ) @@ -758,41 +773,41 @@ def abandon( def close( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, closing_sequence: typing.Optional[int] = OMIT, expected_revision: typing.Optional[int] = OMIT, - missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] = OMIT, - outcome: typing.Optional[AgentTrajectoryOutcome] = OMIT, + missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTraceSequenceRange]] = OMIT, + outcome: typing.Optional[AgentTraceOutcome] = OMIT, reason: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, - verifier: typing.Optional[AgentTrajectoryCloseVerifier] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, + verifier: typing.Optional[AgentTraceCloseVerifier] = OMIT, verifier_id: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[AgentTrajectoryFinalizationResult]: + ) -> HttpResponse[AgentTraceFinalizationResult]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID closing_sequence : typing.Optional[int] expected_revision : typing.Optional[int] - missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] + missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTraceSequenceRange]] - outcome : typing.Optional[AgentTrajectoryOutcome] + outcome : typing.Optional[AgentTraceOutcome] reason : typing.Optional[str] - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] - verifier : typing.Optional[AgentTrajectoryCloseVerifier] + verifier : typing.Optional[AgentTraceCloseVerifier] verifier_id : typing.Optional[str] @@ -803,25 +818,25 @@ def close( Returns ------- - HttpResponse[AgentTrajectoryFinalizationResult] + HttpResponse[AgentTraceFinalizationResult] Accepted """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/close", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/close", method="POST", json={ "closing_sequence": closing_sequence, "expected_revision": expected_revision, "missing_sequence_ranges": convert_and_respect_annotation_metadata( object_=missing_sequence_ranges, - annotation=typing.Sequence[AgentTrajectorySequenceRange], + annotation=typing.Sequence[AgentTraceSequenceRange], direction="write", ), "outcome": outcome, "reason": reason, "verification": verification, "verifier": convert_and_respect_annotation_metadata( - object_=verifier, annotation=AgentTrajectoryCloseVerifier, direction="write" + object_=verifier, annotation=AgentTraceCloseVerifier, direction="write" ), "verifier_id": verifier_id, }, @@ -835,9 +850,9 @@ def close( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectoryFinalizationResult, + AgentTraceFinalizationResult, parse_obj_as( - type_=AgentTrajectoryFinalizationResult, # type: ignore + type_=AgentTraceFinalizationResult, # type: ignore object_=_response.json(), ), ) @@ -880,28 +895,28 @@ def close( def correct_task_family( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, reason: str, task_family: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[AgentTrajectoryFinalizationResult]: + ) -> HttpResponse[AgentTraceFinalizationResult]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. reason : str - Why the terminal Trajectory classification is being corrected. + Why the terminal Trace classification is being corrected. task_family : typing.Optional[str] Replacement task-family slug. Set to null to clear it. @@ -913,11 +928,11 @@ def correct_task_family( Returns ------- - HttpResponse[AgentTrajectoryFinalizationResult] + HttpResponse[AgentTraceFinalizationResult] Accepted """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/correct-task-family", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/correct-task-family", method="POST", json={ "expected_revision": expected_revision, @@ -934,9 +949,9 @@ def correct_task_family( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectoryFinalizationResult, + AgentTraceFinalizationResult, parse_obj_as( - type_=AgentTrajectoryFinalizationResult, # type: ignore + type_=AgentTraceFinalizationResult, # type: ignore object_=_response.json(), ), ) @@ -979,20 +994,20 @@ def correct_task_family( def list_events( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[AgentTrajectoryEvent, AgentTrajectoryEventPage]: + ) -> SyncPager[AgentTraceEvent, AgentTraceEventPage]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID limit : typing.Optional[int] Page size (maximum 100) @@ -1005,11 +1020,11 @@ def list_events( Returns ------- - SyncPager[AgentTrajectoryEvent, AgentTrajectoryEventPage] + SyncPager[AgentTraceEvent, AgentTraceEventPage] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/events", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/events", method="GET", params={ "limit": limit, @@ -1020,9 +1035,9 @@ def list_events( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - AgentTrajectoryEventPage, + AgentTraceEventPage, parse_obj_as( - type_=AgentTrajectoryEventPage, # type: ignore + type_=AgentTraceEventPage, # type: ignore object_=_response.json(), ), ) @@ -1031,7 +1046,7 @@ def list_events( _has_next = _parsed_next is not None and _parsed_next != "" _get_next = lambda: self.list_events( agent_uuid, - trajectory_uuid, + trace_uuid, limit=limit, cursor=_parsed_next, request_options=request_options, @@ -1075,33 +1090,33 @@ def list_events( def append_event( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, - event_type: AgentTrajectoryEventType, + event_type: AgentTraceEventType, content: typing.Optional[str] = OMIT, - context: typing.Optional[AgentTrajectoryEventContext] = OMIT, + context: typing.Optional[AgentTraceEventContext] = OMIT, event_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, occurred_at: typing.Optional[str] = OMIT, sequence: typing.Optional[int] = OMIT, - sources: typing.Optional[typing.Sequence[AgentTrajectoryEventSource]] = OMIT, + sources: typing.Optional[typing.Sequence[AgentTraceEventSource]] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[AgentTrajectoryEvent]: + ) -> HttpResponse[AgentTraceEvent]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID - event_type : AgentTrajectoryEventType + event_type : AgentTraceEventType content : typing.Optional[str] - context : typing.Optional[AgentTrajectoryEventContext] + context : typing.Optional[AgentTraceEventContext] event_id : typing.Optional[str] @@ -1111,7 +1126,7 @@ def append_event( sequence : typing.Optional[int] - sources : typing.Optional[typing.Sequence[AgentTrajectoryEventSource]] + sources : typing.Optional[typing.Sequence[AgentTraceEventSource]] idempotency_key : typing.Optional[str] @@ -1120,16 +1135,16 @@ def append_event( Returns ------- - HttpResponse[AgentTrajectoryEvent] + HttpResponse[AgentTraceEvent] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/events", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/events", method="POST", json={ "content": content, "context": convert_and_respect_annotation_metadata( - object_=context, annotation=AgentTrajectoryEventContext, direction="write" + object_=context, annotation=AgentTraceEventContext, direction="write" ), "event_id": event_id, "event_type": event_type, @@ -1137,7 +1152,7 @@ def append_event( "occurred_at": occurred_at, "sequence": sequence, "sources": convert_and_respect_annotation_metadata( - object_=sources, annotation=typing.Sequence[AgentTrajectoryEventSource], direction="write" + object_=sources, annotation=typing.Sequence[AgentTraceEventSource], direction="write" ), }, headers={ @@ -1150,9 +1165,9 @@ def append_event( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectoryEvent, + AgentTraceEvent, parse_obj_as( - type_=AgentTrajectoryEvent, # type: ignore + type_=AgentTraceEvent, # type: ignore object_=_response.json(), ), ) @@ -1217,21 +1232,21 @@ def append_event( def delete_event( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, event_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[AgentTrajectorySourceDeletionResult]: + ) -> HttpResponse[AgentTraceSourceDeletionResult]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID event_uuid : str Event UUID @@ -1245,11 +1260,11 @@ def delete_event( Returns ------- - HttpResponse[AgentTrajectorySourceDeletionResult] + HttpResponse[AgentTraceSourceDeletionResult] Accepted """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/events/{encode_path_param(event_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/events/{encode_path_param(event_uuid)}", method="DELETE", json={ "expected_revision": expected_revision, @@ -1264,9 +1279,9 @@ def delete_event( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectorySourceDeletionResult, + AgentTraceSourceDeletionResult, parse_obj_as( - type_=AgentTrajectorySourceDeletionResult, # type: ignore + type_=AgentTraceSourceDeletionResult, # type: ignore object_=_response.json(), ), ) @@ -1287,23 +1302,23 @@ def delete_event( def reopen( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[AgentTrajectory]: + ) -> HttpResponse[AgentTrace]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. idempotency_key : typing.Optional[str] @@ -1312,11 +1327,11 @@ def reopen( Returns ------- - HttpResponse[AgentTrajectory] + HttpResponse[AgentTrace] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/reopen", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/reopen", method="POST", json={ "expected_revision": expected_revision, @@ -1331,9 +1346,9 @@ def reopen( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectory, + AgentTrace, parse_obj_as( - type_=AgentTrajectory, # type: ignore + type_=AgentTrace, # type: ignore object_=_response.json(), ), ) @@ -1374,36 +1389,36 @@ def reopen( ) def get_summary( - self, agent_uuid: str, trajectory_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> HttpResponse[AgentTrajectorySummaryVersion]: + self, agent_uuid: str, trace_uuid: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> HttpResponse[AgentTraceSummaryVersion]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - HttpResponse[AgentTrajectorySummaryVersion] + HttpResponse[AgentTraceSummaryVersion] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/summary", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/summary", method="GET", request_options=request_options, ) try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectorySummaryVersion, + AgentTraceSummaryVersion, parse_obj_as( - type_=AgentTrajectorySummaryVersion, # type: ignore + type_=AgentTraceSummaryVersion, # type: ignore object_=_response.json(), ), ) @@ -1435,20 +1450,20 @@ def get_summary( def list_summary_versions( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[AgentTrajectorySummaryVersion, AgentTrajectorySummaryPage]: + ) -> SyncPager[AgentTraceSummaryVersion, AgentTraceSummaryPage]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID limit : typing.Optional[int] Page size (maximum 100) @@ -1461,11 +1476,11 @@ def list_summary_versions( Returns ------- - SyncPager[AgentTrajectorySummaryVersion, AgentTrajectorySummaryPage] + SyncPager[AgentTraceSummaryVersion, AgentTraceSummaryPage] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/summary/versions", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/summary/versions", method="GET", params={ "limit": limit, @@ -1476,9 +1491,9 @@ def list_summary_versions( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - AgentTrajectorySummaryPage, + AgentTraceSummaryPage, parse_obj_as( - type_=AgentTrajectorySummaryPage, # type: ignore + type_=AgentTraceSummaryPage, # type: ignore object_=_response.json(), ), ) @@ -1487,7 +1502,7 @@ def list_summary_versions( _has_next = _parsed_next is not None and _parsed_next != "" _get_next = lambda: self.list_summary_versions( agent_uuid, - trajectory_uuid, + trace_uuid, limit=limit, cursor=_parsed_next, request_options=request_options, @@ -1518,7 +1533,7 @@ def list_summary_versions( ) -class AsyncRawTrajectoryClient: +class AsyncRawTraceClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper @@ -1527,14 +1542,14 @@ async def create( agent_uuid: str, *, objective: str, - task_family: str, learn_from: typing.Optional[bool] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - parent_trajectory_uuid: typing.Optional[str] = OMIT, - trajectory_id: typing.Optional[str] = OMIT, + parent_trace_uuid: typing.Optional[str] = OMIT, + task_family: typing.Optional[str] = OMIT, + trace_id: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[AgentTrajectory]: + ) -> AsyncHttpResponse[AgentTrace]: """ Parameters ---------- @@ -1544,19 +1559,20 @@ async def create( objective : str The task-instance objective captured for this attempt. - task_family : str - The task-family slug. - learn_from : typing.Optional[bool] Whether eligible evidence may participate in learning. Defaults to true. metadata : typing.Optional[typing.Dict[str, typing.Any]] - Developer metadata used to organize and filter Trajectories. + Developer metadata used to organize and filter Traces. + + parent_trace_uuid : typing.Optional[str] + The parent Trace UUID when this attempt retries an earlier attempt. - parent_trajectory_uuid : typing.Optional[str] - The parent Trajectory UUID when this attempt retries an earlier attempt. + task_family : typing.Optional[str] + The task-family slug. Optional when inferred task families are enabled + for the account: the service assigns one after the Trace closes. - trajectory_id : typing.Optional[str] + trace_id : typing.Optional[str] The optional customer-assigned identifier, unique within the Agent. idempotency_key : typing.Optional[str] @@ -1566,19 +1582,19 @@ async def create( Returns ------- - AsyncHttpResponse[AgentTrajectory] + AsyncHttpResponse[AgentTrace] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories", + f"agents/{encode_path_param(agent_uuid)}/traces", method="POST", json={ "learn_from": learn_from, "metadata": metadata, "objective": objective, - "parent_trajectory_uuid": parent_trajectory_uuid, + "parent_trace_uuid": parent_trace_uuid, "task_family": task_family, - "trajectory_id": trajectory_id, + "trace_id": trace_id, }, headers={ "content-type": "application/json", @@ -1590,9 +1606,9 @@ async def create( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectory, + AgentTrace, parse_obj_as( - type_=AgentTrajectory, # type: ignore + type_=AgentTrace, # type: ignore object_=_response.json(), ), ) @@ -1671,16 +1687,18 @@ async def list( *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, + order_by: typing.Optional[TraceListRequestOrderBy] = None, + order: typing.Optional[TraceListRequestOrder] = None, import_uuid: typing.Optional[str] = None, - source_kind: typing.Optional[TrajectoryListRequestSourceKind] = None, + source_kind: typing.Optional[TraceListRequestSourceKind] = None, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - outcome: typing.Optional[AgentTrajectoryOutcome] = OMIT, - parent_trajectory_uuid: typing.Optional[str] = OMIT, - status: typing.Optional[AgentTrajectoryLifecycle] = OMIT, + outcome: typing.Optional[AgentTraceOutcome] = OMIT, + parent_trace_uuid: typing.Optional[str] = OMIT, + status: typing.Optional[AgentTraceLifecycle] = OMIT, task_family: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[AgentTrajectory, AgentTrajectoryPage]: + ) -> AsyncPager[AgentTrace, AgentTracePage]: """ Parameters ---------- @@ -1693,28 +1711,34 @@ async def list( cursor : typing.Optional[str] Opaque page cursor + order_by : typing.Optional[TraceListRequestOrderBy] + Sort field + + order : typing.Optional[TraceListRequestOrder] + asc or desc + import_uuid : typing.Optional[str] - Filter by owning Trajectory import UUID + Filter by owning Trace import UUID - source_kind : typing.Optional[TrajectoryListRequestSourceKind] + source_kind : typing.Optional[TraceListRequestSourceKind] Source kind metadata : typing.Optional[typing.Dict[str, typing.Any]] - Filters to Trajectories whose metadata contains these key-value pairs. + Filters to Traces whose metadata contains these key-value pairs. - outcome : typing.Optional[AgentTrajectoryOutcome] + outcome : typing.Optional[AgentTraceOutcome] Filters to one reported outcome. - parent_trajectory_uuid : typing.Optional[str] - Filters to direct retries of this parent Trajectory. + parent_trace_uuid : typing.Optional[str] + Filters to direct retries of this parent Trace. - status : typing.Optional[AgentTrajectoryLifecycle] + status : typing.Optional[AgentTraceLifecycle] Filters to one lifecycle state. task_family : typing.Optional[str] Filters to an exact task-family slug. - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] Filters to one verification strength. request_options : typing.Optional[RequestOptions] @@ -1722,22 +1746,24 @@ async def list( Returns ------- - AsyncPager[AgentTrajectory, AgentTrajectoryPage] + AsyncPager[AgentTrace, AgentTracePage] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/list", + f"agents/{encode_path_param(agent_uuid)}/traces/list", method="POST", params={ "limit": limit, "cursor": cursor, + "order_by": order_by, + "order": order, "import_uuid": import_uuid, "source_kind": source_kind, }, json={ "metadata": metadata, "outcome": outcome, - "parent_trajectory_uuid": parent_trajectory_uuid, + "parent_trace_uuid": parent_trace_uuid, "status": status, "task_family": task_family, "verification": verification, @@ -1752,9 +1778,9 @@ async def list( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - AgentTrajectoryPage, + AgentTracePage, parse_obj_as( - type_=AgentTrajectoryPage, # type: ignore + type_=AgentTracePage, # type: ignore object_=_response.json(), ), ) @@ -1767,11 +1793,13 @@ async def _get_next(): agent_uuid, limit=limit, cursor=_parsed_next, + order_by=order_by, + order=order, import_uuid=import_uuid, source_kind=source_kind, metadata=metadata, outcome=outcome, - parent_trajectory_uuid=parent_trajectory_uuid, + parent_trace_uuid=parent_trace_uuid, status=status, task_family=task_family, verification=verification, @@ -1837,36 +1865,36 @@ async def _get_next(): ) async def get( - self, agent_uuid: str, trajectory_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> AsyncHttpResponse[AgentTrajectory]: + self, agent_uuid: str, trace_uuid: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[AgentTrace]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - AsyncHttpResponse[AgentTrajectory] + AsyncHttpResponse[AgentTrace] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}", method="GET", request_options=request_options, ) try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectory, + AgentTrace, parse_obj_as( - type_=AgentTrajectory, # type: ignore + type_=AgentTrace, # type: ignore object_=_response.json(), ), ) @@ -1931,20 +1959,20 @@ async def get( async def delete( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[AgentTrajectorySourceDeletionResult]: + ) -> AsyncHttpResponse[AgentTraceSourceDeletionResult]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int @@ -1955,11 +1983,11 @@ async def delete( Returns ------- - AsyncHttpResponse[AgentTrajectorySourceDeletionResult] + AsyncHttpResponse[AgentTraceSourceDeletionResult] Accepted """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}", method="DELETE", json={ "expected_revision": expected_revision, @@ -1974,9 +2002,9 @@ async def delete( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectorySourceDeletionResult, + AgentTraceSourceDeletionResult, parse_obj_as( - type_=AgentTrajectorySourceDeletionResult, # type: ignore + type_=AgentTraceSourceDeletionResult, # type: ignore object_=_response.json(), ), ) @@ -1997,24 +2025,24 @@ async def delete( async def update( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, task_family: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[AgentTrajectory]: + ) -> AsyncHttpResponse[AgentTrace]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. task_family : typing.Optional[str] Replacement task-family slug. Set to null to clear it. @@ -2026,11 +2054,11 @@ async def update( Returns ------- - AsyncHttpResponse[AgentTrajectory] + AsyncHttpResponse[AgentTrace] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}", method="PATCH", json={ "expected_revision": expected_revision, @@ -2046,9 +2074,9 @@ async def update( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectory, + AgentTrace, parse_obj_as( - type_=AgentTrajectory, # type: ignore + type_=AgentTrace, # type: ignore object_=_response.json(), ), ) @@ -2124,25 +2152,25 @@ async def update( async def abandon( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, highest_accepted_sequence: int, assertion_uuid: typing.Optional[str] = OMIT, expected_revision: typing.Optional[int] = OMIT, - missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] = OMIT, + missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTraceSequenceRange]] = OMIT, reason: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[AgentTrajectoryFinalizationResult]: + ) -> AsyncHttpResponse[AgentTraceFinalizationResult]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID highest_accepted_sequence : int @@ -2150,11 +2178,11 @@ async def abandon( expected_revision : typing.Optional[int] - missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] + missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTraceSequenceRange]] reason : typing.Optional[str] - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] idempotency_key : typing.Optional[str] @@ -2163,11 +2191,11 @@ async def abandon( Returns ------- - AsyncHttpResponse[AgentTrajectoryFinalizationResult] + AsyncHttpResponse[AgentTraceFinalizationResult] Accepted """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/abandon", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/abandon", method="POST", json={ "assertion_uuid": assertion_uuid, @@ -2175,7 +2203,7 @@ async def abandon( "highest_accepted_sequence": highest_accepted_sequence, "missing_sequence_ranges": convert_and_respect_annotation_metadata( object_=missing_sequence_ranges, - annotation=typing.Sequence[AgentTrajectorySequenceRange], + annotation=typing.Sequence[AgentTraceSequenceRange], direction="write", ), "reason": reason, @@ -2191,9 +2219,9 @@ async def abandon( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectoryFinalizationResult, + AgentTraceFinalizationResult, parse_obj_as( - type_=AgentTrajectoryFinalizationResult, # type: ignore + type_=AgentTraceFinalizationResult, # type: ignore object_=_response.json(), ), ) @@ -2236,41 +2264,41 @@ async def abandon( async def close( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, closing_sequence: typing.Optional[int] = OMIT, expected_revision: typing.Optional[int] = OMIT, - missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] = OMIT, - outcome: typing.Optional[AgentTrajectoryOutcome] = OMIT, + missing_sequence_ranges: typing.Optional[typing.Sequence[AgentTraceSequenceRange]] = OMIT, + outcome: typing.Optional[AgentTraceOutcome] = OMIT, reason: typing.Optional[str] = OMIT, - verification: typing.Optional[AgentTrajectoryVerification] = OMIT, - verifier: typing.Optional[AgentTrajectoryCloseVerifier] = OMIT, + verification: typing.Optional[AgentTraceVerification] = OMIT, + verifier: typing.Optional[AgentTraceCloseVerifier] = OMIT, verifier_id: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[AgentTrajectoryFinalizationResult]: + ) -> AsyncHttpResponse[AgentTraceFinalizationResult]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID closing_sequence : typing.Optional[int] expected_revision : typing.Optional[int] - missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTrajectorySequenceRange]] + missing_sequence_ranges : typing.Optional[typing.Sequence[AgentTraceSequenceRange]] - outcome : typing.Optional[AgentTrajectoryOutcome] + outcome : typing.Optional[AgentTraceOutcome] reason : typing.Optional[str] - verification : typing.Optional[AgentTrajectoryVerification] + verification : typing.Optional[AgentTraceVerification] - verifier : typing.Optional[AgentTrajectoryCloseVerifier] + verifier : typing.Optional[AgentTraceCloseVerifier] verifier_id : typing.Optional[str] @@ -2281,25 +2309,25 @@ async def close( Returns ------- - AsyncHttpResponse[AgentTrajectoryFinalizationResult] + AsyncHttpResponse[AgentTraceFinalizationResult] Accepted """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/close", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/close", method="POST", json={ "closing_sequence": closing_sequence, "expected_revision": expected_revision, "missing_sequence_ranges": convert_and_respect_annotation_metadata( object_=missing_sequence_ranges, - annotation=typing.Sequence[AgentTrajectorySequenceRange], + annotation=typing.Sequence[AgentTraceSequenceRange], direction="write", ), "outcome": outcome, "reason": reason, "verification": verification, "verifier": convert_and_respect_annotation_metadata( - object_=verifier, annotation=AgentTrajectoryCloseVerifier, direction="write" + object_=verifier, annotation=AgentTraceCloseVerifier, direction="write" ), "verifier_id": verifier_id, }, @@ -2313,9 +2341,9 @@ async def close( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectoryFinalizationResult, + AgentTraceFinalizationResult, parse_obj_as( - type_=AgentTrajectoryFinalizationResult, # type: ignore + type_=AgentTraceFinalizationResult, # type: ignore object_=_response.json(), ), ) @@ -2358,28 +2386,28 @@ async def close( async def correct_task_family( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, reason: str, task_family: typing.Optional[str] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[AgentTrajectoryFinalizationResult]: + ) -> AsyncHttpResponse[AgentTraceFinalizationResult]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. reason : str - Why the terminal Trajectory classification is being corrected. + Why the terminal Trace classification is being corrected. task_family : typing.Optional[str] Replacement task-family slug. Set to null to clear it. @@ -2391,11 +2419,11 @@ async def correct_task_family( Returns ------- - AsyncHttpResponse[AgentTrajectoryFinalizationResult] + AsyncHttpResponse[AgentTraceFinalizationResult] Accepted """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/correct-task-family", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/correct-task-family", method="POST", json={ "expected_revision": expected_revision, @@ -2412,9 +2440,9 @@ async def correct_task_family( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectoryFinalizationResult, + AgentTraceFinalizationResult, parse_obj_as( - type_=AgentTrajectoryFinalizationResult, # type: ignore + type_=AgentTraceFinalizationResult, # type: ignore object_=_response.json(), ), ) @@ -2457,20 +2485,20 @@ async def correct_task_family( async def list_events( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[AgentTrajectoryEvent, AgentTrajectoryEventPage]: + ) -> AsyncPager[AgentTraceEvent, AgentTraceEventPage]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID limit : typing.Optional[int] Page size (maximum 100) @@ -2483,11 +2511,11 @@ async def list_events( Returns ------- - AsyncPager[AgentTrajectoryEvent, AgentTrajectoryEventPage] + AsyncPager[AgentTraceEvent, AgentTraceEventPage] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/events", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/events", method="GET", params={ "limit": limit, @@ -2498,9 +2526,9 @@ async def list_events( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - AgentTrajectoryEventPage, + AgentTraceEventPage, parse_obj_as( - type_=AgentTrajectoryEventPage, # type: ignore + type_=AgentTraceEventPage, # type: ignore object_=_response.json(), ), ) @@ -2511,7 +2539,7 @@ async def list_events( async def _get_next(): return await self.list_events( agent_uuid, - trajectory_uuid, + trace_uuid, limit=limit, cursor=_parsed_next, request_options=request_options, @@ -2556,33 +2584,33 @@ async def _get_next(): async def append_event( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, - event_type: AgentTrajectoryEventType, + event_type: AgentTraceEventType, content: typing.Optional[str] = OMIT, - context: typing.Optional[AgentTrajectoryEventContext] = OMIT, + context: typing.Optional[AgentTraceEventContext] = OMIT, event_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, occurred_at: typing.Optional[str] = OMIT, sequence: typing.Optional[int] = OMIT, - sources: typing.Optional[typing.Sequence[AgentTrajectoryEventSource]] = OMIT, + sources: typing.Optional[typing.Sequence[AgentTraceEventSource]] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[AgentTrajectoryEvent]: + ) -> AsyncHttpResponse[AgentTraceEvent]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID - event_type : AgentTrajectoryEventType + event_type : AgentTraceEventType content : typing.Optional[str] - context : typing.Optional[AgentTrajectoryEventContext] + context : typing.Optional[AgentTraceEventContext] event_id : typing.Optional[str] @@ -2592,7 +2620,7 @@ async def append_event( sequence : typing.Optional[int] - sources : typing.Optional[typing.Sequence[AgentTrajectoryEventSource]] + sources : typing.Optional[typing.Sequence[AgentTraceEventSource]] idempotency_key : typing.Optional[str] @@ -2601,16 +2629,16 @@ async def append_event( Returns ------- - AsyncHttpResponse[AgentTrajectoryEvent] + AsyncHttpResponse[AgentTraceEvent] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/events", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/events", method="POST", json={ "content": content, "context": convert_and_respect_annotation_metadata( - object_=context, annotation=AgentTrajectoryEventContext, direction="write" + object_=context, annotation=AgentTraceEventContext, direction="write" ), "event_id": event_id, "event_type": event_type, @@ -2618,7 +2646,7 @@ async def append_event( "occurred_at": occurred_at, "sequence": sequence, "sources": convert_and_respect_annotation_metadata( - object_=sources, annotation=typing.Sequence[AgentTrajectoryEventSource], direction="write" + object_=sources, annotation=typing.Sequence[AgentTraceEventSource], direction="write" ), }, headers={ @@ -2631,9 +2659,9 @@ async def append_event( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectoryEvent, + AgentTraceEvent, parse_obj_as( - type_=AgentTrajectoryEvent, # type: ignore + type_=AgentTraceEvent, # type: ignore object_=_response.json(), ), ) @@ -2698,21 +2726,21 @@ async def append_event( async def delete_event( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, event_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[AgentTrajectorySourceDeletionResult]: + ) -> AsyncHttpResponse[AgentTraceSourceDeletionResult]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID event_uuid : str Event UUID @@ -2726,11 +2754,11 @@ async def delete_event( Returns ------- - AsyncHttpResponse[AgentTrajectorySourceDeletionResult] + AsyncHttpResponse[AgentTraceSourceDeletionResult] Accepted """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/events/{encode_path_param(event_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/events/{encode_path_param(event_uuid)}", method="DELETE", json={ "expected_revision": expected_revision, @@ -2745,9 +2773,9 @@ async def delete_event( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectorySourceDeletionResult, + AgentTraceSourceDeletionResult, parse_obj_as( - type_=AgentTrajectorySourceDeletionResult, # type: ignore + type_=AgentTraceSourceDeletionResult, # type: ignore object_=_response.json(), ), ) @@ -2768,23 +2796,23 @@ async def delete_event( async def reopen( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, expected_revision: int, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[AgentTrajectory]: + ) -> AsyncHttpResponse[AgentTrace]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID expected_revision : int - The current Trajectory revision used for optimistic concurrency. + The current Trace revision used for optimistic concurrency. idempotency_key : typing.Optional[str] @@ -2793,11 +2821,11 @@ async def reopen( Returns ------- - AsyncHttpResponse[AgentTrajectory] + AsyncHttpResponse[AgentTrace] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/reopen", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/reopen", method="POST", json={ "expected_revision": expected_revision, @@ -2812,9 +2840,9 @@ async def reopen( try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectory, + AgentTrace, parse_obj_as( - type_=AgentTrajectory, # type: ignore + type_=AgentTrace, # type: ignore object_=_response.json(), ), ) @@ -2855,36 +2883,36 @@ async def reopen( ) async def get_summary( - self, agent_uuid: str, trajectory_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> AsyncHttpResponse[AgentTrajectorySummaryVersion]: + self, agent_uuid: str, trace_uuid: str, *, request_options: typing.Optional[RequestOptions] = None + ) -> AsyncHttpResponse[AgentTraceSummaryVersion]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - AsyncHttpResponse[AgentTrajectorySummaryVersion] + AsyncHttpResponse[AgentTraceSummaryVersion] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/summary", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/summary", method="GET", request_options=request_options, ) try: if 200 <= _response.status_code < 300: _data = typing.cast( - AgentTrajectorySummaryVersion, + AgentTraceSummaryVersion, parse_obj_as( - type_=AgentTrajectorySummaryVersion, # type: ignore + type_=AgentTraceSummaryVersion, # type: ignore object_=_response.json(), ), ) @@ -2916,20 +2944,20 @@ async def get_summary( async def list_summary_versions( self, agent_uuid: str, - trajectory_uuid: str, + trace_uuid: str, *, limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[AgentTrajectorySummaryVersion, AgentTrajectorySummaryPage]: + ) -> AsyncPager[AgentTraceSummaryVersion, AgentTraceSummaryPage]: """ Parameters ---------- agent_uuid : str Agent UUID - trajectory_uuid : str - Trajectory UUID + trace_uuid : str + Trace UUID limit : typing.Optional[int] Page size (maximum 100) @@ -2942,11 +2970,11 @@ async def list_summary_versions( Returns ------- - AsyncPager[AgentTrajectorySummaryVersion, AgentTrajectorySummaryPage] + AsyncPager[AgentTraceSummaryVersion, AgentTraceSummaryPage] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectories/{encode_path_param(trajectory_uuid)}/summary/versions", + f"agents/{encode_path_param(agent_uuid)}/traces/{encode_path_param(trace_uuid)}/summary/versions", method="GET", params={ "limit": limit, @@ -2957,9 +2985,9 @@ async def list_summary_versions( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - AgentTrajectorySummaryPage, + AgentTraceSummaryPage, parse_obj_as( - type_=AgentTrajectorySummaryPage, # type: ignore + type_=AgentTraceSummaryPage, # type: ignore object_=_response.json(), ), ) @@ -2970,7 +2998,7 @@ async def list_summary_versions( async def _get_next(): return await self.list_summary_versions( agent_uuid, - trajectory_uuid, + trace_uuid, limit=limit, cursor=_parsed_next, request_options=request_options, diff --git a/src/zep_cloud/agent/trace/types/__init__.py b/src/zep_cloud/agent/trace/types/__init__.py new file mode 100644 index 00000000..8de9c3d0 --- /dev/null +++ b/src/zep_cloud/agent/trace/types/__init__.py @@ -0,0 +1,40 @@ +# This file was auto-generated by Fern from our API Definition. + +# isort: skip_file + +import typing +from importlib import import_module + +if typing.TYPE_CHECKING: + from .trace_list_request_order import TraceListRequestOrder + from .trace_list_request_order_by import TraceListRequestOrderBy + from .trace_list_request_source_kind import TraceListRequestSourceKind +_dynamic_imports: typing.Dict[str, str] = { + "TraceListRequestOrder": ".trace_list_request_order", + "TraceListRequestOrderBy": ".trace_list_request_order_by", + "TraceListRequestSourceKind": ".trace_list_request_source_kind", +} + + +def __getattr__(attr_name: str) -> typing.Any: + module_name = _dynamic_imports.get(attr_name) + if module_name is None: + raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}") + try: + module = import_module(module_name, __package__) + if module_name == f".{attr_name}": + return module + else: + return getattr(module, attr_name) + except ImportError as e: + raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e + except AttributeError as e: + raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e + + +def __dir__(): + lazy_attrs = list(_dynamic_imports.keys()) + return sorted(lazy_attrs) + + +__all__ = ["TraceListRequestOrder", "TraceListRequestOrderBy", "TraceListRequestSourceKind"] diff --git a/src/zep_cloud/agent/trace/types/trace_list_request_order.py b/src/zep_cloud/agent/trace/types/trace_list_request_order.py new file mode 100644 index 00000000..18c83c17 --- /dev/null +++ b/src/zep_cloud/agent/trace/types/trace_list_request_order.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TraceListRequestOrder = typing.Union[typing.Literal["asc", "desc"], typing.Any] diff --git a/src/zep_cloud/agent/trace/types/trace_list_request_order_by.py b/src/zep_cloud/agent/trace/types/trace_list_request_order_by.py new file mode 100644 index 00000000..824399e4 --- /dev/null +++ b/src/zep_cloud/agent/trace/types/trace_list_request_order_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TraceListRequestOrderBy = typing.Union[typing.Literal["created_at", "updated_at"], typing.Any] diff --git a/src/zep_cloud/agent/trace/types/trace_list_request_source_kind.py b/src/zep_cloud/agent/trace/types/trace_list_request_source_kind.py new file mode 100644 index 00000000..a19391bd --- /dev/null +++ b/src/zep_cloud/agent/trace/types/trace_list_request_source_kind.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TraceListRequestSourceKind = typing.Union[typing.Literal["native", "trace_import"], typing.Any] diff --git a/src/zep_cloud/agent/trajectory/__init__.py b/src/zep_cloud/agent/trace_import/__init__.py similarity index 80% rename from src/zep_cloud/agent/trajectory/__init__.py rename to src/zep_cloud/agent/trace_import/__init__.py index 5530e783..8c60875a 100644 --- a/src/zep_cloud/agent/trajectory/__init__.py +++ b/src/zep_cloud/agent/trace_import/__init__.py @@ -6,8 +6,9 @@ from importlib import import_module if typing.TYPE_CHECKING: - from .types import TrajectoryListRequestSourceKind -_dynamic_imports: typing.Dict[str, str] = {"TrajectoryListRequestSourceKind": ".types"} + from .types import TraceImportDeleteRequestTraces + from . import run +_dynamic_imports: typing.Dict[str, str] = {"TraceImportDeleteRequestTraces": ".types", "run": ".run"} def __getattr__(attr_name: str) -> typing.Any: @@ -31,4 +32,4 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["TrajectoryListRequestSourceKind"] +__all__ = ["TraceImportDeleteRequestTraces", "run"] diff --git a/src/zep_cloud/agent/trajectory_import/client.py b/src/zep_cloud/agent/trace_import/client.py similarity index 78% rename from src/zep_cloud/agent/trajectory_import/client.py rename to src/zep_cloud/agent/trace_import/client.py index f31429f3..fb5f3675 100644 --- a/src/zep_cloud/agent/trajectory_import/client.py +++ b/src/zep_cloud/agent/trace_import/client.py @@ -8,13 +8,13 @@ from ...core.pagination import AsyncPager, SyncPager from ...core.request_options import RequestOptions from ...types.task import Task -from ...types.trajectory_import import TrajectoryImport -from ...types.trajectory_import_page import TrajectoryImportPage -from ...types.trajectory_import_schedule import TrajectoryImportSchedule -from ...types.trajectory_import_selection import TrajectoryImportSelection -from ...types.trajectory_mapping import TrajectoryMapping -from .raw_client import AsyncRawTrajectoryImportClient, RawTrajectoryImportClient -from .types.trajectory_import_delete_request_trajectories import TrajectoryImportDeleteRequestTrajectories +from ...types.trace_import import TraceImport +from ...types.trace_import_page import TraceImportPage +from ...types.trace_import_schedule import TraceImportSchedule +from ...types.trace_import_selection import TraceImportSelection +from ...types.trace_mapping import TraceMapping +from .raw_client import AsyncRawTraceImportClient, RawTraceImportClient +from .types.trace_import_delete_request_traces import TraceImportDeleteRequestTraces if typing.TYPE_CHECKING: from .run.client import AsyncRunClient, RunClient @@ -22,20 +22,20 @@ OMIT = typing.cast(typing.Any, ...) -class TrajectoryImportClient: +class TraceImportClient: def __init__(self, *, client_wrapper: SyncClientWrapper): - self._raw_client = RawTrajectoryImportClient(client_wrapper=client_wrapper) + self._raw_client = RawTraceImportClient(client_wrapper=client_wrapper) self._client_wrapper = client_wrapper self._run: typing.Optional[RunClient] = None @property - def with_raw_response(self) -> RawTrajectoryImportClient: + def with_raw_response(self) -> RawTraceImportClient: """ Retrieves a raw implementation of this client that returns raw responses. Returns ------- - RawTrajectoryImportClient + RawTraceImportClient """ return self._raw_client @@ -46,9 +46,9 @@ def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[TrajectoryImport, TrajectoryImportPage]: + ) -> SyncPager[TraceImport, TraceImportPage]: """ - List trajectory imports that belong to this Agent. + List trace imports that belong to this Agent. Parameters ---------- @@ -66,7 +66,7 @@ def list( Returns ------- - SyncPager[TrajectoryImport, TrajectoryImportPage] + SyncPager[TraceImport, TraceImportPage] OK Examples @@ -76,7 +76,7 @@ def list( client = Zep( api_key="YOUR_API_KEY", ) - response = client.agent.trajectory_import.list( + response = client.agent.trace_import.list( agent_uuid="agent_uuid", ) for item in response: @@ -93,16 +93,16 @@ def create( *, connection_uuid: typing.Optional[str] = OMIT, learn_from: typing.Optional[bool] = OMIT, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, name: typing.Optional[str] = OMIT, on_source_change: typing.Optional[str] = OMIT, provider_project_id: typing.Optional[str] = OMIT, require_review: typing.Optional[bool] = OMIT, - schedule: typing.Optional[TrajectoryImportSchedule] = OMIT, - selection: typing.Optional[TrajectoryImportSelection] = OMIT, + schedule: typing.Optional[TraceImportSchedule] = OMIT, + selection: typing.Optional[TraceImportSelection] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> TrajectoryImport: + ) -> TraceImport: """ Create a scheduled import or queue a one-time import. Example request: `{"connection_uuid":"8c78a85e-eac2-4f57-b5f5-59a68a1e77a1","provider_project_id":"project-123","name":"Support traces","selection":{"trace_ids":["trace-123"]},"mapping":{"task_family":{"source":"fixed","value":"support"}}}`. @@ -117,8 +117,8 @@ def create( learn_from : typing.Optional[bool] LearnFrom controls whether imported evidence can support Skills. - mapping : typing.Optional[TrajectoryMapping] - Mapping defines how source traces become Trajectories. Example: {"task_family":{"source":"fixed","value":"support"}}. + mapping : typing.Optional[TraceMapping] + Mapping defines how source traces become Traces. Example: {"task_family":{"source":"fixed","value":"support"}}. name : typing.Optional[str] Name is the import display name. @@ -132,10 +132,10 @@ def create( require_review : typing.Optional[bool] RequireReview requires review for candidates backed by this import. - schedule : typing.Optional[TrajectoryImportSchedule] + schedule : typing.Optional[TraceImportSchedule] Schedule enables recurring imports when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}. - selection : typing.Optional[TrajectoryImportSelection] + selection : typing.Optional[TraceImportSelection] Selection defines the traces to import. Example: {"trace_ids":["trace_123"]}. idempotency_key : typing.Optional[str] @@ -145,7 +145,7 @@ def create( Returns ------- - TrajectoryImport + TraceImport Created Examples @@ -155,7 +155,7 @@ def create( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory_import.create( + client.agent.trace_import.create( agent_uuid="agent_uuid", ) """ @@ -177,9 +177,9 @@ def create( def get( self, agent_uuid: str, import_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> TrajectoryImport: + ) -> TraceImport: """ - Read one trajectory import. The response does not include its source cursor. + Read one trace import. The response does not include its source cursor. Parameters ---------- @@ -187,14 +187,14 @@ def get( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - TrajectoryImport + TraceImport OK Examples @@ -204,7 +204,7 @@ def get( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory_import.get( + client.agent.trace_import.get( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -217,12 +217,12 @@ def delete( agent_uuid: str, import_uuid: str, *, - trajectories: typing.Optional[TrajectoryImportDeleteRequestTrajectories] = None, + traces: typing.Optional[TraceImportDeleteRequestTraces] = None, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[Task]: """ - Set `trajectories=delete` to queue asynchronous Trajectory deletion. The default keeps Trajectories. Example query: `?trajectories=delete`. + Set `traces=delete` to queue asynchronous Trace deletion. The default keeps Traces. Example query: `?traces=delete`. Parameters ---------- @@ -230,10 +230,10 @@ def delete( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID - trajectories : typing.Optional[TrajectoryImportDeleteRequestTrajectories] - Whether to delete imported Trajectories + traces : typing.Optional[TraceImportDeleteRequestTraces] + Whether to delete imported Traces idempotency_key : typing.Optional[str] @@ -252,17 +252,13 @@ def delete( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory_import.delete( + client.agent.trace_import.delete( agent_uuid="agent_uuid", import_uuid="import_uuid", ) """ _response = self._raw_client.delete( - agent_uuid, - import_uuid, - trajectories=trajectories, - idempotency_key=idempotency_key, - request_options=request_options, + agent_uuid, import_uuid, traces=traces, idempotency_key=idempotency_key, request_options=request_options ) return _response.data @@ -273,15 +269,15 @@ def update( *, expected_revision: typing.Optional[int] = OMIT, learn_from: typing.Optional[bool] = OMIT, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, name: typing.Optional[str] = OMIT, on_source_change: typing.Optional[str] = OMIT, require_review: typing.Optional[bool] = OMIT, - schedule: typing.Optional[TrajectoryImportSchedule] = OMIT, - selection: typing.Optional[TrajectoryImportSelection] = OMIT, + schedule: typing.Optional[TraceImportSchedule] = OMIT, + selection: typing.Optional[TraceImportSelection] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> TrajectoryImport: + ) -> TraceImport: """ Use `expected_revision` to reject a stale update. Example request: `{"expected_revision":1,"name":"Updated support traces"}`. @@ -291,7 +287,7 @@ def update( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID expected_revision : typing.Optional[int] ExpectedRevision is the current import revision. @@ -299,7 +295,7 @@ def update( learn_from : typing.Optional[bool] LearnFrom is the new learning setting, when supplied. - mapping : typing.Optional[TrajectoryMapping] + mapping : typing.Optional[TraceMapping] Mapping is the new mapping, when supplied. Example: {"task_family":{"source":"fixed","value":"support"}}. name : typing.Optional[str] @@ -311,10 +307,10 @@ def update( require_review : typing.Optional[bool] RequireReview is the new review setting, when supplied. - schedule : typing.Optional[TrajectoryImportSchedule] + schedule : typing.Optional[TraceImportSchedule] Schedule is the new schedule, when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}. - selection : typing.Optional[TrajectoryImportSelection] + selection : typing.Optional[TraceImportSelection] Selection is the new selection, when supplied. Example: {"trace_ids":["trace_123"]}. idempotency_key : typing.Optional[str] @@ -324,7 +320,7 @@ def update( Returns ------- - TrajectoryImport + TraceImport OK Examples @@ -334,7 +330,7 @@ def update( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory_import.update( + client.agent.trace_import.update( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -362,9 +358,9 @@ def pause( *, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> TrajectoryImport: + ) -> TraceImport: """ - Pause a scheduled trajectory import. One-time imports cannot be paused. + Pause a scheduled trace import. One-time imports cannot be paused. Parameters ---------- @@ -372,7 +368,7 @@ def pause( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -381,7 +377,7 @@ def pause( Returns ------- - TrajectoryImport + TraceImport OK Examples @@ -391,7 +387,7 @@ def pause( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory_import.pause( + client.agent.trace_import.pause( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -408,9 +404,9 @@ def resume( *, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> TrajectoryImport: + ) -> TraceImport: """ - Resume a scheduled trajectory import. Zep verifies credentials first when they caused the pause. + Resume a scheduled trace import. Zep verifies credentials first when they caused the pause. Parameters ---------- @@ -418,7 +414,7 @@ def resume( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -427,7 +423,7 @@ def resume( Returns ------- - TrajectoryImport + TraceImport OK Examples @@ -437,7 +433,7 @@ def resume( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory_import.resume( + client.agent.trace_import.resume( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -456,20 +452,20 @@ def run(self): return self._run -class AsyncTrajectoryImportClient: +class AsyncTraceImportClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): - self._raw_client = AsyncRawTrajectoryImportClient(client_wrapper=client_wrapper) + self._raw_client = AsyncRawTraceImportClient(client_wrapper=client_wrapper) self._client_wrapper = client_wrapper self._run: typing.Optional[AsyncRunClient] = None @property - def with_raw_response(self) -> AsyncRawTrajectoryImportClient: + def with_raw_response(self) -> AsyncRawTraceImportClient: """ Retrieves a raw implementation of this client that returns raw responses. Returns ------- - AsyncRawTrajectoryImportClient + AsyncRawTraceImportClient """ return self._raw_client @@ -480,9 +476,9 @@ async def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[TrajectoryImport, TrajectoryImportPage]: + ) -> AsyncPager[TraceImport, TraceImportPage]: """ - List trajectory imports that belong to this Agent. + List trace imports that belong to this Agent. Parameters ---------- @@ -500,7 +496,7 @@ async def list( Returns ------- - AsyncPager[TrajectoryImport, TrajectoryImportPage] + AsyncPager[TraceImport, TraceImportPage] OK Examples @@ -515,7 +511,7 @@ async def list( async def main() -> None: - response = await client.agent.trajectory_import.list( + response = await client.agent.trace_import.list( agent_uuid="agent_uuid", ) async for item in response: @@ -536,16 +532,16 @@ async def create( *, connection_uuid: typing.Optional[str] = OMIT, learn_from: typing.Optional[bool] = OMIT, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, name: typing.Optional[str] = OMIT, on_source_change: typing.Optional[str] = OMIT, provider_project_id: typing.Optional[str] = OMIT, require_review: typing.Optional[bool] = OMIT, - schedule: typing.Optional[TrajectoryImportSchedule] = OMIT, - selection: typing.Optional[TrajectoryImportSelection] = OMIT, + schedule: typing.Optional[TraceImportSchedule] = OMIT, + selection: typing.Optional[TraceImportSelection] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> TrajectoryImport: + ) -> TraceImport: """ Create a scheduled import or queue a one-time import. Example request: `{"connection_uuid":"8c78a85e-eac2-4f57-b5f5-59a68a1e77a1","provider_project_id":"project-123","name":"Support traces","selection":{"trace_ids":["trace-123"]},"mapping":{"task_family":{"source":"fixed","value":"support"}}}`. @@ -560,8 +556,8 @@ async def create( learn_from : typing.Optional[bool] LearnFrom controls whether imported evidence can support Skills. - mapping : typing.Optional[TrajectoryMapping] - Mapping defines how source traces become Trajectories. Example: {"task_family":{"source":"fixed","value":"support"}}. + mapping : typing.Optional[TraceMapping] + Mapping defines how source traces become Traces. Example: {"task_family":{"source":"fixed","value":"support"}}. name : typing.Optional[str] Name is the import display name. @@ -575,10 +571,10 @@ async def create( require_review : typing.Optional[bool] RequireReview requires review for candidates backed by this import. - schedule : typing.Optional[TrajectoryImportSchedule] + schedule : typing.Optional[TraceImportSchedule] Schedule enables recurring imports when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}. - selection : typing.Optional[TrajectoryImportSelection] + selection : typing.Optional[TraceImportSelection] Selection defines the traces to import. Example: {"trace_ids":["trace_123"]}. idempotency_key : typing.Optional[str] @@ -588,7 +584,7 @@ async def create( Returns ------- - TrajectoryImport + TraceImport Created Examples @@ -603,7 +599,7 @@ async def create( async def main() -> None: - await client.agent.trajectory_import.create( + await client.agent.trace_import.create( agent_uuid="agent_uuid", ) @@ -628,9 +624,9 @@ async def main() -> None: async def get( self, agent_uuid: str, import_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> TrajectoryImport: + ) -> TraceImport: """ - Read one trajectory import. The response does not include its source cursor. + Read one trace import. The response does not include its source cursor. Parameters ---------- @@ -638,14 +634,14 @@ async def get( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - TrajectoryImport + TraceImport OK Examples @@ -660,7 +656,7 @@ async def get( async def main() -> None: - await client.agent.trajectory_import.get( + await client.agent.trace_import.get( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -676,12 +672,12 @@ async def delete( agent_uuid: str, import_uuid: str, *, - trajectories: typing.Optional[TrajectoryImportDeleteRequestTrajectories] = None, + traces: typing.Optional[TraceImportDeleteRequestTraces] = None, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> typing.Optional[Task]: """ - Set `trajectories=delete` to queue asynchronous Trajectory deletion. The default keeps Trajectories. Example query: `?trajectories=delete`. + Set `traces=delete` to queue asynchronous Trace deletion. The default keeps Traces. Example query: `?traces=delete`. Parameters ---------- @@ -689,10 +685,10 @@ async def delete( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID - trajectories : typing.Optional[TrajectoryImportDeleteRequestTrajectories] - Whether to delete imported Trajectories + traces : typing.Optional[TraceImportDeleteRequestTraces] + Whether to delete imported Traces idempotency_key : typing.Optional[str] @@ -716,7 +712,7 @@ async def delete( async def main() -> None: - await client.agent.trajectory_import.delete( + await client.agent.trace_import.delete( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -725,11 +721,7 @@ async def main() -> None: asyncio.run(main()) """ _response = await self._raw_client.delete( - agent_uuid, - import_uuid, - trajectories=trajectories, - idempotency_key=idempotency_key, - request_options=request_options, + agent_uuid, import_uuid, traces=traces, idempotency_key=idempotency_key, request_options=request_options ) return _response.data @@ -740,15 +732,15 @@ async def update( *, expected_revision: typing.Optional[int] = OMIT, learn_from: typing.Optional[bool] = OMIT, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, name: typing.Optional[str] = OMIT, on_source_change: typing.Optional[str] = OMIT, require_review: typing.Optional[bool] = OMIT, - schedule: typing.Optional[TrajectoryImportSchedule] = OMIT, - selection: typing.Optional[TrajectoryImportSelection] = OMIT, + schedule: typing.Optional[TraceImportSchedule] = OMIT, + selection: typing.Optional[TraceImportSelection] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> TrajectoryImport: + ) -> TraceImport: """ Use `expected_revision` to reject a stale update. Example request: `{"expected_revision":1,"name":"Updated support traces"}`. @@ -758,7 +750,7 @@ async def update( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID expected_revision : typing.Optional[int] ExpectedRevision is the current import revision. @@ -766,7 +758,7 @@ async def update( learn_from : typing.Optional[bool] LearnFrom is the new learning setting, when supplied. - mapping : typing.Optional[TrajectoryMapping] + mapping : typing.Optional[TraceMapping] Mapping is the new mapping, when supplied. Example: {"task_family":{"source":"fixed","value":"support"}}. name : typing.Optional[str] @@ -778,10 +770,10 @@ async def update( require_review : typing.Optional[bool] RequireReview is the new review setting, when supplied. - schedule : typing.Optional[TrajectoryImportSchedule] + schedule : typing.Optional[TraceImportSchedule] Schedule is the new schedule, when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}. - selection : typing.Optional[TrajectoryImportSelection] + selection : typing.Optional[TraceImportSelection] Selection is the new selection, when supplied. Example: {"trace_ids":["trace_123"]}. idempotency_key : typing.Optional[str] @@ -791,7 +783,7 @@ async def update( Returns ------- - TrajectoryImport + TraceImport OK Examples @@ -806,7 +798,7 @@ async def update( async def main() -> None: - await client.agent.trajectory_import.update( + await client.agent.trace_import.update( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -837,9 +829,9 @@ async def pause( *, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> TrajectoryImport: + ) -> TraceImport: """ - Pause a scheduled trajectory import. One-time imports cannot be paused. + Pause a scheduled trace import. One-time imports cannot be paused. Parameters ---------- @@ -847,7 +839,7 @@ async def pause( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -856,7 +848,7 @@ async def pause( Returns ------- - TrajectoryImport + TraceImport OK Examples @@ -871,7 +863,7 @@ async def pause( async def main() -> None: - await client.agent.trajectory_import.pause( + await client.agent.trace_import.pause( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -891,9 +883,9 @@ async def resume( *, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> TrajectoryImport: + ) -> TraceImport: """ - Resume a scheduled trajectory import. Zep verifies credentials first when they caused the pause. + Resume a scheduled trace import. Zep verifies credentials first when they caused the pause. Parameters ---------- @@ -901,7 +893,7 @@ async def resume( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -910,7 +902,7 @@ async def resume( Returns ------- - TrajectoryImport + TraceImport OK Examples @@ -925,7 +917,7 @@ async def resume( async def main() -> None: - await client.agent.trajectory_import.resume( + await client.agent.trace_import.resume( agent_uuid="agent_uuid", import_uuid="import_uuid", ) diff --git a/src/zep_cloud/agent/trajectory_import/raw_client.py b/src/zep_cloud/agent/trace_import/raw_client.py similarity index 87% rename from src/zep_cloud/agent/trajectory_import/raw_client.py rename to src/zep_cloud/agent/trace_import/raw_client.py index 01406195..5e909216 100644 --- a/src/zep_cloud/agent/trajectory_import/raw_client.py +++ b/src/zep_cloud/agent/trace_import/raw_client.py @@ -21,19 +21,19 @@ from ...errors.unprocessable_entity_error import UnprocessableEntityError from ...types.api_error import ApiError as types_api_error_ApiError from ...types.task import Task -from ...types.trajectory_import import TrajectoryImport -from ...types.trajectory_import_page import TrajectoryImportPage -from ...types.trajectory_import_schedule import TrajectoryImportSchedule -from ...types.trajectory_import_selection import TrajectoryImportSelection -from ...types.trajectory_mapping import TrajectoryMapping -from .types.trajectory_import_delete_request_trajectories import TrajectoryImportDeleteRequestTrajectories +from ...types.trace_import import TraceImport +from ...types.trace_import_page import TraceImportPage +from ...types.trace_import_schedule import TraceImportSchedule +from ...types.trace_import_selection import TraceImportSelection +from ...types.trace_mapping import TraceMapping +from .types.trace_import_delete_request_traces import TraceImportDeleteRequestTraces from pydantic import ValidationError # this is used as the default value for optional parameters OMIT = typing.cast(typing.Any, ...) -class RawTrajectoryImportClient: +class RawTraceImportClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper @@ -44,9 +44,9 @@ def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[TrajectoryImport, TrajectoryImportPage]: + ) -> SyncPager[TraceImport, TraceImportPage]: """ - List trajectory imports that belong to this Agent. + List trace imports that belong to this Agent. Parameters ---------- @@ -64,11 +64,11 @@ def list( Returns ------- - SyncPager[TrajectoryImport, TrajectoryImportPage] + SyncPager[TraceImport, TraceImportPage] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports", + f"agents/{encode_path_param(agent_uuid)}/trace-imports", method="GET", params={ "limit": limit, @@ -79,9 +79,9 @@ def list( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - TrajectoryImportPage, + TraceImportPage, parse_obj_as( - type_=TrajectoryImportPage, # type: ignore + type_=TraceImportPage, # type: ignore object_=_response.json(), ), ) @@ -147,16 +147,16 @@ def create( *, connection_uuid: typing.Optional[str] = OMIT, learn_from: typing.Optional[bool] = OMIT, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, name: typing.Optional[str] = OMIT, on_source_change: typing.Optional[str] = OMIT, provider_project_id: typing.Optional[str] = OMIT, require_review: typing.Optional[bool] = OMIT, - schedule: typing.Optional[TrajectoryImportSchedule] = OMIT, - selection: typing.Optional[TrajectoryImportSelection] = OMIT, + schedule: typing.Optional[TraceImportSchedule] = OMIT, + selection: typing.Optional[TraceImportSelection] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[TrajectoryImport]: + ) -> HttpResponse[TraceImport]: """ Create a scheduled import or queue a one-time import. Example request: `{"connection_uuid":"8c78a85e-eac2-4f57-b5f5-59a68a1e77a1","provider_project_id":"project-123","name":"Support traces","selection":{"trace_ids":["trace-123"]},"mapping":{"task_family":{"source":"fixed","value":"support"}}}`. @@ -171,8 +171,8 @@ def create( learn_from : typing.Optional[bool] LearnFrom controls whether imported evidence can support Skills. - mapping : typing.Optional[TrajectoryMapping] - Mapping defines how source traces become Trajectories. Example: {"task_family":{"source":"fixed","value":"support"}}. + mapping : typing.Optional[TraceMapping] + Mapping defines how source traces become Traces. Example: {"task_family":{"source":"fixed","value":"support"}}. name : typing.Optional[str] Name is the import display name. @@ -186,10 +186,10 @@ def create( require_review : typing.Optional[bool] RequireReview requires review for candidates backed by this import. - schedule : typing.Optional[TrajectoryImportSchedule] + schedule : typing.Optional[TraceImportSchedule] Schedule enables recurring imports when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}. - selection : typing.Optional[TrajectoryImportSelection] + selection : typing.Optional[TraceImportSelection] Selection defines the traces to import. Example: {"trace_ids":["trace_123"]}. idempotency_key : typing.Optional[str] @@ -199,27 +199,27 @@ def create( Returns ------- - HttpResponse[TrajectoryImport] + HttpResponse[TraceImport] Created """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports", + f"agents/{encode_path_param(agent_uuid)}/trace-imports", method="POST", json={ "connection_uuid": connection_uuid, "learn_from": learn_from, "mapping": convert_and_respect_annotation_metadata( - object_=mapping, annotation=TrajectoryMapping, direction="write" + object_=mapping, annotation=TraceMapping, direction="write" ), "name": name, "on_source_change": on_source_change, "provider_project_id": provider_project_id, "require_review": require_review, "schedule": convert_and_respect_annotation_metadata( - object_=schedule, annotation=TrajectoryImportSchedule, direction="write" + object_=schedule, annotation=TraceImportSchedule, direction="write" ), "selection": convert_and_respect_annotation_metadata( - object_=selection, annotation=TrajectoryImportSelection, direction="write" + object_=selection, annotation=TraceImportSelection, direction="write" ), }, headers={ @@ -232,9 +232,9 @@ def create( try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImport, + TraceImport, parse_obj_as( - type_=TrajectoryImport, # type: ignore + type_=TraceImport, # type: ignore object_=_response.json(), ), ) @@ -320,9 +320,9 @@ def create( def get( self, agent_uuid: str, import_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> HttpResponse[TrajectoryImport]: + ) -> HttpResponse[TraceImport]: """ - Read one trajectory import. The response does not include its source cursor. + Read one trace import. The response does not include its source cursor. Parameters ---------- @@ -330,27 +330,27 @@ def get( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - HttpResponse[TrajectoryImport] + HttpResponse[TraceImport] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}", method="GET", request_options=request_options, ) try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImport, + TraceImport, parse_obj_as( - type_=TrajectoryImport, # type: ignore + type_=TraceImport, # type: ignore object_=_response.json(), ), ) @@ -406,12 +406,12 @@ def delete( agent_uuid: str, import_uuid: str, *, - trajectories: typing.Optional[TrajectoryImportDeleteRequestTrajectories] = None, + traces: typing.Optional[TraceImportDeleteRequestTraces] = None, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[typing.Optional[Task]]: """ - Set `trajectories=delete` to queue asynchronous Trajectory deletion. The default keeps Trajectories. Example query: `?trajectories=delete`. + Set `traces=delete` to queue asynchronous Trace deletion. The default keeps Traces. Example query: `?traces=delete`. Parameters ---------- @@ -419,10 +419,10 @@ def delete( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID - trajectories : typing.Optional[TrajectoryImportDeleteRequestTrajectories] - Whether to delete imported Trajectories + traces : typing.Optional[TraceImportDeleteRequestTraces] + Whether to delete imported Traces idempotency_key : typing.Optional[str] @@ -435,10 +435,10 @@ def delete( Accepted """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}", method="DELETE", params={ - "trajectories": trajectories, + "traces": traces, }, headers={ "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else generate_idempotency_key(), @@ -510,15 +510,15 @@ def update( *, expected_revision: typing.Optional[int] = OMIT, learn_from: typing.Optional[bool] = OMIT, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, name: typing.Optional[str] = OMIT, on_source_change: typing.Optional[str] = OMIT, require_review: typing.Optional[bool] = OMIT, - schedule: typing.Optional[TrajectoryImportSchedule] = OMIT, - selection: typing.Optional[TrajectoryImportSelection] = OMIT, + schedule: typing.Optional[TraceImportSchedule] = OMIT, + selection: typing.Optional[TraceImportSelection] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[TrajectoryImport]: + ) -> HttpResponse[TraceImport]: """ Use `expected_revision` to reject a stale update. Example request: `{"expected_revision":1,"name":"Updated support traces"}`. @@ -528,7 +528,7 @@ def update( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID expected_revision : typing.Optional[int] ExpectedRevision is the current import revision. @@ -536,7 +536,7 @@ def update( learn_from : typing.Optional[bool] LearnFrom is the new learning setting, when supplied. - mapping : typing.Optional[TrajectoryMapping] + mapping : typing.Optional[TraceMapping] Mapping is the new mapping, when supplied. Example: {"task_family":{"source":"fixed","value":"support"}}. name : typing.Optional[str] @@ -548,10 +548,10 @@ def update( require_review : typing.Optional[bool] RequireReview is the new review setting, when supplied. - schedule : typing.Optional[TrajectoryImportSchedule] + schedule : typing.Optional[TraceImportSchedule] Schedule is the new schedule, when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}. - selection : typing.Optional[TrajectoryImportSelection] + selection : typing.Optional[TraceImportSelection] Selection is the new selection, when supplied. Example: {"trace_ids":["trace_123"]}. idempotency_key : typing.Optional[str] @@ -561,26 +561,26 @@ def update( Returns ------- - HttpResponse[TrajectoryImport] + HttpResponse[TraceImport] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}", method="PATCH", json={ "expected_revision": expected_revision, "learn_from": learn_from, "mapping": convert_and_respect_annotation_metadata( - object_=mapping, annotation=TrajectoryMapping, direction="write" + object_=mapping, annotation=TraceMapping, direction="write" ), "name": name, "on_source_change": on_source_change, "require_review": require_review, "schedule": convert_and_respect_annotation_metadata( - object_=schedule, annotation=TrajectoryImportSchedule, direction="write" + object_=schedule, annotation=TraceImportSchedule, direction="write" ), "selection": convert_and_respect_annotation_metadata( - object_=selection, annotation=TrajectoryImportSelection, direction="write" + object_=selection, annotation=TraceImportSelection, direction="write" ), }, headers={ @@ -593,9 +593,9 @@ def update( try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImport, + TraceImport, parse_obj_as( - type_=TrajectoryImport, # type: ignore + type_=TraceImport, # type: ignore object_=_response.json(), ), ) @@ -675,9 +675,9 @@ def pause( *, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[TrajectoryImport]: + ) -> HttpResponse[TraceImport]: """ - Pause a scheduled trajectory import. One-time imports cannot be paused. + Pause a scheduled trace import. One-time imports cannot be paused. Parameters ---------- @@ -685,7 +685,7 @@ def pause( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -694,11 +694,11 @@ def pause( Returns ------- - HttpResponse[TrajectoryImport] + HttpResponse[TraceImport] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/pause", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/pause", method="POST", headers={ "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else generate_idempotency_key(), @@ -708,9 +708,9 @@ def pause( try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImport, + TraceImport, parse_obj_as( - type_=TrajectoryImport, # type: ignore + type_=TraceImport, # type: ignore object_=_response.json(), ), ) @@ -779,9 +779,9 @@ def resume( *, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[TrajectoryImport]: + ) -> HttpResponse[TraceImport]: """ - Resume a scheduled trajectory import. Zep verifies credentials first when they caused the pause. + Resume a scheduled trace import. Zep verifies credentials first when they caused the pause. Parameters ---------- @@ -789,7 +789,7 @@ def resume( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -798,11 +798,11 @@ def resume( Returns ------- - HttpResponse[TrajectoryImport] + HttpResponse[TraceImport] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/resume", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/resume", method="POST", headers={ "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else generate_idempotency_key(), @@ -812,9 +812,9 @@ def resume( try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImport, + TraceImport, parse_obj_as( - type_=TrajectoryImport, # type: ignore + type_=TraceImport, # type: ignore object_=_response.json(), ), ) @@ -877,7 +877,7 @@ def resume( ) -class AsyncRawTrajectoryImportClient: +class AsyncRawTraceImportClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper @@ -888,9 +888,9 @@ async def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[TrajectoryImport, TrajectoryImportPage]: + ) -> AsyncPager[TraceImport, TraceImportPage]: """ - List trajectory imports that belong to this Agent. + List trace imports that belong to this Agent. Parameters ---------- @@ -908,11 +908,11 @@ async def list( Returns ------- - AsyncPager[TrajectoryImport, TrajectoryImportPage] + AsyncPager[TraceImport, TraceImportPage] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports", + f"agents/{encode_path_param(agent_uuid)}/trace-imports", method="GET", params={ "limit": limit, @@ -923,9 +923,9 @@ async def list( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - TrajectoryImportPage, + TraceImportPage, parse_obj_as( - type_=TrajectoryImportPage, # type: ignore + type_=TraceImportPage, # type: ignore object_=_response.json(), ), ) @@ -994,16 +994,16 @@ async def create( *, connection_uuid: typing.Optional[str] = OMIT, learn_from: typing.Optional[bool] = OMIT, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, name: typing.Optional[str] = OMIT, on_source_change: typing.Optional[str] = OMIT, provider_project_id: typing.Optional[str] = OMIT, require_review: typing.Optional[bool] = OMIT, - schedule: typing.Optional[TrajectoryImportSchedule] = OMIT, - selection: typing.Optional[TrajectoryImportSelection] = OMIT, + schedule: typing.Optional[TraceImportSchedule] = OMIT, + selection: typing.Optional[TraceImportSelection] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[TrajectoryImport]: + ) -> AsyncHttpResponse[TraceImport]: """ Create a scheduled import or queue a one-time import. Example request: `{"connection_uuid":"8c78a85e-eac2-4f57-b5f5-59a68a1e77a1","provider_project_id":"project-123","name":"Support traces","selection":{"trace_ids":["trace-123"]},"mapping":{"task_family":{"source":"fixed","value":"support"}}}`. @@ -1018,8 +1018,8 @@ async def create( learn_from : typing.Optional[bool] LearnFrom controls whether imported evidence can support Skills. - mapping : typing.Optional[TrajectoryMapping] - Mapping defines how source traces become Trajectories. Example: {"task_family":{"source":"fixed","value":"support"}}. + mapping : typing.Optional[TraceMapping] + Mapping defines how source traces become Traces. Example: {"task_family":{"source":"fixed","value":"support"}}. name : typing.Optional[str] Name is the import display name. @@ -1033,10 +1033,10 @@ async def create( require_review : typing.Optional[bool] RequireReview requires review for candidates backed by this import. - schedule : typing.Optional[TrajectoryImportSchedule] + schedule : typing.Optional[TraceImportSchedule] Schedule enables recurring imports when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}. - selection : typing.Optional[TrajectoryImportSelection] + selection : typing.Optional[TraceImportSelection] Selection defines the traces to import. Example: {"trace_ids":["trace_123"]}. idempotency_key : typing.Optional[str] @@ -1046,27 +1046,27 @@ async def create( Returns ------- - AsyncHttpResponse[TrajectoryImport] + AsyncHttpResponse[TraceImport] Created """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports", + f"agents/{encode_path_param(agent_uuid)}/trace-imports", method="POST", json={ "connection_uuid": connection_uuid, "learn_from": learn_from, "mapping": convert_and_respect_annotation_metadata( - object_=mapping, annotation=TrajectoryMapping, direction="write" + object_=mapping, annotation=TraceMapping, direction="write" ), "name": name, "on_source_change": on_source_change, "provider_project_id": provider_project_id, "require_review": require_review, "schedule": convert_and_respect_annotation_metadata( - object_=schedule, annotation=TrajectoryImportSchedule, direction="write" + object_=schedule, annotation=TraceImportSchedule, direction="write" ), "selection": convert_and_respect_annotation_metadata( - object_=selection, annotation=TrajectoryImportSelection, direction="write" + object_=selection, annotation=TraceImportSelection, direction="write" ), }, headers={ @@ -1079,9 +1079,9 @@ async def create( try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImport, + TraceImport, parse_obj_as( - type_=TrajectoryImport, # type: ignore + type_=TraceImport, # type: ignore object_=_response.json(), ), ) @@ -1167,9 +1167,9 @@ async def create( async def get( self, agent_uuid: str, import_uuid: str, *, request_options: typing.Optional[RequestOptions] = None - ) -> AsyncHttpResponse[TrajectoryImport]: + ) -> AsyncHttpResponse[TraceImport]: """ - Read one trajectory import. The response does not include its source cursor. + Read one trace import. The response does not include its source cursor. Parameters ---------- @@ -1177,27 +1177,27 @@ async def get( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- - AsyncHttpResponse[TrajectoryImport] + AsyncHttpResponse[TraceImport] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}", method="GET", request_options=request_options, ) try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImport, + TraceImport, parse_obj_as( - type_=TrajectoryImport, # type: ignore + type_=TraceImport, # type: ignore object_=_response.json(), ), ) @@ -1253,12 +1253,12 @@ async def delete( agent_uuid: str, import_uuid: str, *, - trajectories: typing.Optional[TrajectoryImportDeleteRequestTrajectories] = None, + traces: typing.Optional[TraceImportDeleteRequestTraces] = None, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[typing.Optional[Task]]: """ - Set `trajectories=delete` to queue asynchronous Trajectory deletion. The default keeps Trajectories. Example query: `?trajectories=delete`. + Set `traces=delete` to queue asynchronous Trace deletion. The default keeps Traces. Example query: `?traces=delete`. Parameters ---------- @@ -1266,10 +1266,10 @@ async def delete( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID - trajectories : typing.Optional[TrajectoryImportDeleteRequestTrajectories] - Whether to delete imported Trajectories + traces : typing.Optional[TraceImportDeleteRequestTraces] + Whether to delete imported Traces idempotency_key : typing.Optional[str] @@ -1282,10 +1282,10 @@ async def delete( Accepted """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}", method="DELETE", params={ - "trajectories": trajectories, + "traces": traces, }, headers={ "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else generate_idempotency_key(), @@ -1357,15 +1357,15 @@ async def update( *, expected_revision: typing.Optional[int] = OMIT, learn_from: typing.Optional[bool] = OMIT, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, name: typing.Optional[str] = OMIT, on_source_change: typing.Optional[str] = OMIT, require_review: typing.Optional[bool] = OMIT, - schedule: typing.Optional[TrajectoryImportSchedule] = OMIT, - selection: typing.Optional[TrajectoryImportSelection] = OMIT, + schedule: typing.Optional[TraceImportSchedule] = OMIT, + selection: typing.Optional[TraceImportSelection] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[TrajectoryImport]: + ) -> AsyncHttpResponse[TraceImport]: """ Use `expected_revision` to reject a stale update. Example request: `{"expected_revision":1,"name":"Updated support traces"}`. @@ -1375,7 +1375,7 @@ async def update( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID expected_revision : typing.Optional[int] ExpectedRevision is the current import revision. @@ -1383,7 +1383,7 @@ async def update( learn_from : typing.Optional[bool] LearnFrom is the new learning setting, when supplied. - mapping : typing.Optional[TrajectoryMapping] + mapping : typing.Optional[TraceMapping] Mapping is the new mapping, when supplied. Example: {"task_family":{"source":"fixed","value":"support"}}. name : typing.Optional[str] @@ -1395,10 +1395,10 @@ async def update( require_review : typing.Optional[bool] RequireReview is the new review setting, when supplied. - schedule : typing.Optional[TrajectoryImportSchedule] + schedule : typing.Optional[TraceImportSchedule] Schedule is the new schedule, when supplied. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}. - selection : typing.Optional[TrajectoryImportSelection] + selection : typing.Optional[TraceImportSelection] Selection is the new selection, when supplied. Example: {"trace_ids":["trace_123"]}. idempotency_key : typing.Optional[str] @@ -1408,26 +1408,26 @@ async def update( Returns ------- - AsyncHttpResponse[TrajectoryImport] + AsyncHttpResponse[TraceImport] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}", method="PATCH", json={ "expected_revision": expected_revision, "learn_from": learn_from, "mapping": convert_and_respect_annotation_metadata( - object_=mapping, annotation=TrajectoryMapping, direction="write" + object_=mapping, annotation=TraceMapping, direction="write" ), "name": name, "on_source_change": on_source_change, "require_review": require_review, "schedule": convert_and_respect_annotation_metadata( - object_=schedule, annotation=TrajectoryImportSchedule, direction="write" + object_=schedule, annotation=TraceImportSchedule, direction="write" ), "selection": convert_and_respect_annotation_metadata( - object_=selection, annotation=TrajectoryImportSelection, direction="write" + object_=selection, annotation=TraceImportSelection, direction="write" ), }, headers={ @@ -1440,9 +1440,9 @@ async def update( try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImport, + TraceImport, parse_obj_as( - type_=TrajectoryImport, # type: ignore + type_=TraceImport, # type: ignore object_=_response.json(), ), ) @@ -1522,9 +1522,9 @@ async def pause( *, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[TrajectoryImport]: + ) -> AsyncHttpResponse[TraceImport]: """ - Pause a scheduled trajectory import. One-time imports cannot be paused. + Pause a scheduled trace import. One-time imports cannot be paused. Parameters ---------- @@ -1532,7 +1532,7 @@ async def pause( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -1541,11 +1541,11 @@ async def pause( Returns ------- - AsyncHttpResponse[TrajectoryImport] + AsyncHttpResponse[TraceImport] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/pause", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/pause", method="POST", headers={ "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else generate_idempotency_key(), @@ -1555,9 +1555,9 @@ async def pause( try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImport, + TraceImport, parse_obj_as( - type_=TrajectoryImport, # type: ignore + type_=TraceImport, # type: ignore object_=_response.json(), ), ) @@ -1626,9 +1626,9 @@ async def resume( *, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[TrajectoryImport]: + ) -> AsyncHttpResponse[TraceImport]: """ - Resume a scheduled trajectory import. Zep verifies credentials first when they caused the pause. + Resume a scheduled trace import. Zep verifies credentials first when they caused the pause. Parameters ---------- @@ -1636,7 +1636,7 @@ async def resume( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -1645,11 +1645,11 @@ async def resume( Returns ------- - AsyncHttpResponse[TrajectoryImport] + AsyncHttpResponse[TraceImport] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/resume", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/resume", method="POST", headers={ "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else generate_idempotency_key(), @@ -1659,9 +1659,9 @@ async def resume( try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImport, + TraceImport, parse_obj_as( - type_=TrajectoryImport, # type: ignore + type_=TraceImport, # type: ignore object_=_response.json(), ), ) diff --git a/src/zep_cloud/agent/trajectory_import/run/__init__.py b/src/zep_cloud/agent/trace_import/run/__init__.py similarity index 100% rename from src/zep_cloud/agent/trajectory_import/run/__init__.py rename to src/zep_cloud/agent/trace_import/run/__init__.py diff --git a/src/zep_cloud/agent/trajectory_import/run/client.py b/src/zep_cloud/agent/trace_import/run/client.py similarity index 87% rename from src/zep_cloud/agent/trajectory_import/run/client.py rename to src/zep_cloud/agent/trace_import/run/client.py index cc7efade..611ce44e 100644 --- a/src/zep_cloud/agent/trajectory_import/run/client.py +++ b/src/zep_cloud/agent/trace_import/run/client.py @@ -8,8 +8,8 @@ from ....core.pagination import AsyncPager, SyncPager from ....core.request_options import RequestOptions from ....types.task import Task -from ....types.trajectory_import_run import TrajectoryImportRun -from ....types.trajectory_import_run_page import TrajectoryImportRunPage +from ....types.trace_import_run import TraceImportRun +from ....types.trace_import_run_page import TraceImportRunPage from .raw_client import AsyncRawRunClient, RawRunClient if typing.TYPE_CHECKING: @@ -41,9 +41,9 @@ def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[TrajectoryImportRun, TrajectoryImportRunPage]: + ) -> SyncPager[TraceImportRun, TraceImportRunPage]: """ - List runs that belong to this trajectory import. + List runs that belong to this trace import. Parameters ---------- @@ -51,7 +51,7 @@ def list( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID limit : typing.Optional[int] Page size @@ -64,7 +64,7 @@ def list( Returns ------- - SyncPager[TrajectoryImportRun, TrajectoryImportRunPage] + SyncPager[TraceImportRun, TraceImportRunPage] OK Examples @@ -74,7 +74,7 @@ def list( client = Zep( api_key="YOUR_API_KEY", ) - response = client.agent.trajectory_import.run.list( + response = client.agent.trace_import.run.list( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -105,7 +105,7 @@ def create( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -124,7 +124,7 @@ def create( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory_import.run.create( + client.agent.trace_import.run.create( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -141,9 +141,9 @@ def get( run_uuid: str, *, request_options: typing.Optional[RequestOptions] = None, - ) -> TrajectoryImportRun: + ) -> TraceImportRun: """ - Read one run that belongs to this trajectory import. + Read one run that belongs to this trace import. Parameters ---------- @@ -151,7 +151,7 @@ def get( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID run_uuid : str Run UUID @@ -161,7 +161,7 @@ def get( Returns ------- - TrajectoryImportRun + TraceImportRun OK Examples @@ -171,7 +171,7 @@ def get( client = Zep( api_key="YOUR_API_KEY", ) - client.agent.trajectory_import.run.get( + client.agent.trace_import.run.get( agent_uuid="agent_uuid", import_uuid="import_uuid", run_uuid="run_uuid", @@ -214,9 +214,9 @@ async def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[TrajectoryImportRun, TrajectoryImportRunPage]: + ) -> AsyncPager[TraceImportRun, TraceImportRunPage]: """ - List runs that belong to this trajectory import. + List runs that belong to this trace import. Parameters ---------- @@ -224,7 +224,7 @@ async def list( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID limit : typing.Optional[int] Page size @@ -237,7 +237,7 @@ async def list( Returns ------- - AsyncPager[TrajectoryImportRun, TrajectoryImportRunPage] + AsyncPager[TraceImportRun, TraceImportRunPage] OK Examples @@ -252,7 +252,7 @@ async def list( async def main() -> None: - response = await client.agent.trajectory_import.run.list( + response = await client.agent.trace_import.run.list( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -287,7 +287,7 @@ async def create( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -311,7 +311,7 @@ async def create( async def main() -> None: - await client.agent.trajectory_import.run.create( + await client.agent.trace_import.run.create( agent_uuid="agent_uuid", import_uuid="import_uuid", ) @@ -331,9 +331,9 @@ async def get( run_uuid: str, *, request_options: typing.Optional[RequestOptions] = None, - ) -> TrajectoryImportRun: + ) -> TraceImportRun: """ - Read one run that belongs to this trajectory import. + Read one run that belongs to this trace import. Parameters ---------- @@ -341,7 +341,7 @@ async def get( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID run_uuid : str Run UUID @@ -351,7 +351,7 @@ async def get( Returns ------- - TrajectoryImportRun + TraceImportRun OK Examples @@ -366,7 +366,7 @@ async def get( async def main() -> None: - await client.agent.trajectory_import.run.get( + await client.agent.trace_import.run.get( agent_uuid="agent_uuid", import_uuid="import_uuid", run_uuid="run_uuid", diff --git a/src/zep_cloud/agent/trace_import/run/item/__init__.py b/src/zep_cloud/agent/trace_import/run/item/__init__.py new file mode 100644 index 00000000..5cde0202 --- /dev/null +++ b/src/zep_cloud/agent/trace_import/run/item/__init__.py @@ -0,0 +1,4 @@ +# This file was auto-generated by Fern from our API Definition. + +# isort: skip_file + diff --git a/src/zep_cloud/agent/trajectory_import/run/item/client.py b/src/zep_cloud/agent/trace_import/run/item/client.py similarity index 86% rename from src/zep_cloud/agent/trajectory_import/run/item/client.py rename to src/zep_cloud/agent/trace_import/run/item/client.py index cd799a59..6cc346a6 100644 --- a/src/zep_cloud/agent/trajectory_import/run/item/client.py +++ b/src/zep_cloud/agent/trace_import/run/item/client.py @@ -5,8 +5,8 @@ from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from .....core.pagination import AsyncPager, SyncPager from .....core.request_options import RequestOptions -from .....types.trajectory_import_run_item import TrajectoryImportRunItem -from .....types.trajectory_import_run_item_page import TrajectoryImportRunItemPage +from .....types.trace_import_run_item import TraceImportRunItem +from .....types.trace_import_run_item_page import TraceImportRunItemPage from .raw_client import AsyncRawItemClient, RawItemClient @@ -34,7 +34,7 @@ def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[TrajectoryImportRunItem, TrajectoryImportRunItemPage]: + ) -> SyncPager[TraceImportRunItem, TraceImportRunItemPage]: """ List trace results for this run. Run items do not include source payload. @@ -44,7 +44,7 @@ def list( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID run_uuid : str Run UUID @@ -60,7 +60,7 @@ def list( Returns ------- - SyncPager[TrajectoryImportRunItem, TrajectoryImportRunItemPage] + SyncPager[TraceImportRunItem, TraceImportRunItemPage] OK Examples @@ -70,7 +70,7 @@ def list( client = Zep( api_key="YOUR_API_KEY", ) - response = client.agent.trajectory_import.run.item.list( + response = client.agent.trace_import.run.item.list( agent_uuid="agent_uuid", import_uuid="import_uuid", run_uuid="run_uuid", @@ -110,7 +110,7 @@ async def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[TrajectoryImportRunItem, TrajectoryImportRunItemPage]: + ) -> AsyncPager[TraceImportRunItem, TraceImportRunItemPage]: """ List trace results for this run. Run items do not include source payload. @@ -120,7 +120,7 @@ async def list( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID run_uuid : str Run UUID @@ -136,7 +136,7 @@ async def list( Returns ------- - AsyncPager[TrajectoryImportRunItem, TrajectoryImportRunItemPage] + AsyncPager[TraceImportRunItem, TraceImportRunItemPage] OK Examples @@ -151,7 +151,7 @@ async def list( async def main() -> None: - response = await client.agent.trajectory_import.run.item.list( + response = await client.agent.trace_import.run.item.list( agent_uuid="agent_uuid", import_uuid="import_uuid", run_uuid="run_uuid", diff --git a/src/zep_cloud/agent/trajectory_import/run/item/raw_client.py b/src/zep_cloud/agent/trace_import/run/item/raw_client.py similarity index 89% rename from src/zep_cloud/agent/trajectory_import/run/item/raw_client.py rename to src/zep_cloud/agent/trace_import/run/item/raw_client.py index 2b304e7d..6a30eabf 100644 --- a/src/zep_cloud/agent/trajectory_import/run/item/raw_client.py +++ b/src/zep_cloud/agent/trace_import/run/item/raw_client.py @@ -14,8 +14,8 @@ from .....errors.not_found_error import NotFoundError from .....errors.unauthorized_error import UnauthorizedError from .....types.api_error import ApiError as types_api_error_ApiError -from .....types.trajectory_import_run_item import TrajectoryImportRunItem -from .....types.trajectory_import_run_item_page import TrajectoryImportRunItemPage +from .....types.trace_import_run_item import TraceImportRunItem +from .....types.trace_import_run_item_page import TraceImportRunItemPage from pydantic import ValidationError @@ -32,7 +32,7 @@ def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[TrajectoryImportRunItem, TrajectoryImportRunItemPage]: + ) -> SyncPager[TraceImportRunItem, TraceImportRunItemPage]: """ List trace results for this run. Run items do not include source payload. @@ -42,7 +42,7 @@ def list( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID run_uuid : str Run UUID @@ -58,11 +58,11 @@ def list( Returns ------- - SyncPager[TrajectoryImportRunItem, TrajectoryImportRunItemPage] + SyncPager[TraceImportRunItem, TraceImportRunItemPage] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/runs/{encode_path_param(run_uuid)}/items", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/runs/{encode_path_param(run_uuid)}/items", method="GET", params={ "limit": limit, @@ -73,9 +73,9 @@ def list( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - TrajectoryImportRunItemPage, + TraceImportRunItemPage, parse_obj_as( - type_=TrajectoryImportRunItemPage, # type: ignore + type_=TraceImportRunItemPage, # type: ignore object_=_response.json(), ), ) @@ -151,7 +151,7 @@ async def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[TrajectoryImportRunItem, TrajectoryImportRunItemPage]: + ) -> AsyncPager[TraceImportRunItem, TraceImportRunItemPage]: """ List trace results for this run. Run items do not include source payload. @@ -161,7 +161,7 @@ async def list( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID run_uuid : str Run UUID @@ -177,11 +177,11 @@ async def list( Returns ------- - AsyncPager[TrajectoryImportRunItem, TrajectoryImportRunItemPage] + AsyncPager[TraceImportRunItem, TraceImportRunItemPage] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/runs/{encode_path_param(run_uuid)}/items", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/runs/{encode_path_param(run_uuid)}/items", method="GET", params={ "limit": limit, @@ -192,9 +192,9 @@ async def list( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - TrajectoryImportRunItemPage, + TraceImportRunItemPage, parse_obj_as( - type_=TrajectoryImportRunItemPage, # type: ignore + type_=TraceImportRunItemPage, # type: ignore object_=_response.json(), ), ) diff --git a/src/zep_cloud/agent/trajectory_import/run/raw_client.py b/src/zep_cloud/agent/trace_import/run/raw_client.py similarity index 90% rename from src/zep_cloud/agent/trajectory_import/run/raw_client.py rename to src/zep_cloud/agent/trace_import/run/raw_client.py index a3bae331..b37bada9 100644 --- a/src/zep_cloud/agent/trajectory_import/run/raw_client.py +++ b/src/zep_cloud/agent/trace_import/run/raw_client.py @@ -18,8 +18,8 @@ from ....errors.unauthorized_error import UnauthorizedError from ....types.api_error import ApiError as types_api_error_ApiError from ....types.task import Task -from ....types.trajectory_import_run import TrajectoryImportRun -from ....types.trajectory_import_run_page import TrajectoryImportRunPage +from ....types.trace_import_run import TraceImportRun +from ....types.trace_import_run_page import TraceImportRunPage from pydantic import ValidationError @@ -35,9 +35,9 @@ def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> SyncPager[TrajectoryImportRun, TrajectoryImportRunPage]: + ) -> SyncPager[TraceImportRun, TraceImportRunPage]: """ - List runs that belong to this trajectory import. + List runs that belong to this trace import. Parameters ---------- @@ -45,7 +45,7 @@ def list( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID limit : typing.Optional[int] Page size @@ -58,11 +58,11 @@ def list( Returns ------- - SyncPager[TrajectoryImportRun, TrajectoryImportRunPage] + SyncPager[TraceImportRun, TraceImportRunPage] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/runs", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/runs", method="GET", params={ "limit": limit, @@ -73,9 +73,9 @@ def list( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - TrajectoryImportRunPage, + TraceImportRunPage, parse_obj_as( - type_=TrajectoryImportRunPage, # type: ignore + type_=TraceImportRunPage, # type: ignore object_=_response.json(), ), ) @@ -153,7 +153,7 @@ def create( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -166,7 +166,7 @@ def create( Accepted """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/runs", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/runs", method="POST", headers={ "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else generate_idempotency_key(), @@ -247,9 +247,9 @@ def get( run_uuid: str, *, request_options: typing.Optional[RequestOptions] = None, - ) -> HttpResponse[TrajectoryImportRun]: + ) -> HttpResponse[TraceImportRun]: """ - Read one run that belongs to this trajectory import. + Read one run that belongs to this trace import. Parameters ---------- @@ -257,7 +257,7 @@ def get( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID run_uuid : str Run UUID @@ -267,20 +267,20 @@ def get( Returns ------- - HttpResponse[TrajectoryImportRun] + HttpResponse[TraceImportRun] OK """ _response = self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/runs/{encode_path_param(run_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/runs/{encode_path_param(run_uuid)}", method="GET", request_options=request_options, ) try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImportRun, + TraceImportRun, parse_obj_as( - type_=TrajectoryImportRun, # type: ignore + type_=TraceImportRun, # type: ignore object_=_response.json(), ), ) @@ -344,9 +344,9 @@ async def list( limit: typing.Optional[int] = None, cursor: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncPager[TrajectoryImportRun, TrajectoryImportRunPage]: + ) -> AsyncPager[TraceImportRun, TraceImportRunPage]: """ - List runs that belong to this trajectory import. + List runs that belong to this trace import. Parameters ---------- @@ -354,7 +354,7 @@ async def list( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID limit : typing.Optional[int] Page size @@ -367,11 +367,11 @@ async def list( Returns ------- - AsyncPager[TrajectoryImportRun, TrajectoryImportRunPage] + AsyncPager[TraceImportRun, TraceImportRunPage] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/runs", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/runs", method="GET", params={ "limit": limit, @@ -382,9 +382,9 @@ async def list( try: if 200 <= _response.status_code < 300: _parsed_response = typing.cast( - TrajectoryImportRunPage, + TraceImportRunPage, parse_obj_as( - type_=TrajectoryImportRunPage, # type: ignore + type_=TraceImportRunPage, # type: ignore object_=_response.json(), ), ) @@ -465,7 +465,7 @@ async def create( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID idempotency_key : typing.Optional[str] @@ -478,7 +478,7 @@ async def create( Accepted """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/runs", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/runs", method="POST", headers={ "Idempotency-Key": str(idempotency_key) if idempotency_key is not None else generate_idempotency_key(), @@ -559,9 +559,9 @@ async def get( run_uuid: str, *, request_options: typing.Optional[RequestOptions] = None, - ) -> AsyncHttpResponse[TrajectoryImportRun]: + ) -> AsyncHttpResponse[TraceImportRun]: """ - Read one run that belongs to this trajectory import. + Read one run that belongs to this trace import. Parameters ---------- @@ -569,7 +569,7 @@ async def get( Agent UUID import_uuid : str - Trajectory import UUID + Trace import UUID run_uuid : str Run UUID @@ -579,20 +579,20 @@ async def get( Returns ------- - AsyncHttpResponse[TrajectoryImportRun] + AsyncHttpResponse[TraceImportRun] OK """ _response = await self._client_wrapper.httpx_client.request( - f"agents/{encode_path_param(agent_uuid)}/trajectory-imports/{encode_path_param(import_uuid)}/runs/{encode_path_param(run_uuid)}", + f"agents/{encode_path_param(agent_uuid)}/trace-imports/{encode_path_param(import_uuid)}/runs/{encode_path_param(run_uuid)}", method="GET", request_options=request_options, ) try: if 200 <= _response.status_code < 300: _data = typing.cast( - TrajectoryImportRun, + TraceImportRun, parse_obj_as( - type_=TrajectoryImportRun, # type: ignore + type_=TraceImportRun, # type: ignore object_=_response.json(), ), ) diff --git a/src/zep_cloud/agent/trajectory/types/__init__.py b/src/zep_cloud/agent/trace_import/types/__init__.py similarity index 78% rename from src/zep_cloud/agent/trajectory/types/__init__.py rename to src/zep_cloud/agent/trace_import/types/__init__.py index 2f67b591..62b7628b 100644 --- a/src/zep_cloud/agent/trajectory/types/__init__.py +++ b/src/zep_cloud/agent/trace_import/types/__init__.py @@ -6,8 +6,8 @@ from importlib import import_module if typing.TYPE_CHECKING: - from .trajectory_list_request_source_kind import TrajectoryListRequestSourceKind -_dynamic_imports: typing.Dict[str, str] = {"TrajectoryListRequestSourceKind": ".trajectory_list_request_source_kind"} + from .trace_import_delete_request_traces import TraceImportDeleteRequestTraces +_dynamic_imports: typing.Dict[str, str] = {"TraceImportDeleteRequestTraces": ".trace_import_delete_request_traces"} def __getattr__(attr_name: str) -> typing.Any: @@ -31,4 +31,4 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["TrajectoryListRequestSourceKind"] +__all__ = ["TraceImportDeleteRequestTraces"] diff --git a/src/zep_cloud/agent/trace_import/types/trace_import_delete_request_traces.py b/src/zep_cloud/agent/trace_import/types/trace_import_delete_request_traces.py new file mode 100644 index 00000000..56e2d70c --- /dev/null +++ b/src/zep_cloud/agent/trace_import/types/trace_import_delete_request_traces.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TraceImportDeleteRequestTraces = typing.Union[typing.Literal["keep", "delete"], typing.Any] diff --git a/src/zep_cloud/agent/trajectory/types/trajectory_list_request_source_kind.py b/src/zep_cloud/agent/trajectory/types/trajectory_list_request_source_kind.py deleted file mode 100644 index aa44872b..00000000 --- a/src/zep_cloud/agent/trajectory/types/trajectory_list_request_source_kind.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -TrajectoryListRequestSourceKind = typing.Union[typing.Literal["native", "trace_import"], typing.Any] diff --git a/src/zep_cloud/agent/trajectory_import/types/trajectory_import_delete_request_trajectories.py b/src/zep_cloud/agent/trajectory_import/types/trajectory_import_delete_request_trajectories.py deleted file mode 100644 index 5c7b0d61..00000000 --- a/src/zep_cloud/agent/trajectory_import/types/trajectory_import_delete_request_trajectories.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -TrajectoryImportDeleteRequestTrajectories = typing.Union[typing.Literal["keep", "delete"], typing.Any] diff --git a/src/zep_cloud/agent/types/__init__.py b/src/zep_cloud/agent/types/__init__.py new file mode 100644 index 00000000..54a19ff5 --- /dev/null +++ b/src/zep_cloud/agent/types/__init__.py @@ -0,0 +1,38 @@ +# This file was auto-generated by Fern from our API Definition. + +# isort: skip_file + +import typing +from importlib import import_module + +if typing.TYPE_CHECKING: + from .agent_list_request_order import AgentListRequestOrder + from .agent_list_request_order_by import AgentListRequestOrderBy +_dynamic_imports: typing.Dict[str, str] = { + "AgentListRequestOrder": ".agent_list_request_order", + "AgentListRequestOrderBy": ".agent_list_request_order_by", +} + + +def __getattr__(attr_name: str) -> typing.Any: + module_name = _dynamic_imports.get(attr_name) + if module_name is None: + raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}") + try: + module = import_module(module_name, __package__) + if module_name == f".{attr_name}": + return module + else: + return getattr(module, attr_name) + except ImportError as e: + raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e + except AttributeError as e: + raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e + + +def __dir__(): + lazy_attrs = list(_dynamic_imports.keys()) + return sorted(lazy_attrs) + + +__all__ = ["AgentListRequestOrder", "AgentListRequestOrderBy"] diff --git a/src/zep_cloud/agent/types/agent_list_request_order.py b/src/zep_cloud/agent/types/agent_list_request_order.py new file mode 100644 index 00000000..800aa84d --- /dev/null +++ b/src/zep_cloud/agent/types/agent_list_request_order.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AgentListRequestOrder = typing.Union[typing.Literal["asc", "desc"], typing.Any] diff --git a/src/zep_cloud/agent/types/agent_list_request_order_by.py b/src/zep_cloud/agent/types/agent_list_request_order_by.py new file mode 100644 index 00000000..d8bca7ac --- /dev/null +++ b/src/zep_cloud/agent/types/agent_list_request_order_by.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AgentListRequestOrderBy = typing.Union[typing.Literal["created_at", "updated_at", "name"], typing.Any] diff --git a/src/zep_cloud/core/client_wrapper.py b/src/zep_cloud/core/client_wrapper.py index c64512c2..539416eb 100644 --- a/src/zep_cloud/core/client_wrapper.py +++ b/src/zep_cloud/core/client_wrapper.py @@ -33,12 +33,12 @@ def get_headers(self) -> typing.Dict[str, str]: import platform headers: typing.Dict[str, str] = { - "User-Agent": "zep-cloud/4.0.0b1", + "User-Agent": "zep-cloud/4.0.0rc1", "X-Fern-Language": "Python", "X-Fern-Runtime": f"python/{platform.python_version()}", "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}", "X-Fern-SDK-Name": "zep-cloud", - "X-Fern-SDK-Version": "4.0.0b1", + "X-Fern-SDK-Version": "4.0.0rc1", **(self.get_custom_headers() or {}), } headers["Authorization"] = f"Api-Key {self.api_key}" diff --git a/src/zep_cloud/graph/__init__.py b/src/zep_cloud/graph/__init__.py index 3cdf6b6c..4fe104fa 100644 --- a/src/zep_cloud/graph/__init__.py +++ b/src/zep_cloud/graph/__init__.py @@ -10,6 +10,8 @@ GraphContextRequestRecencyBias, GraphListRequestOrder, GraphListRequestOrderBy, + SearchEdgesRequestReranker, + SearchNodesRequestReranker, SubgraphRequestDirection, ) from . import document_summary, edge, episode, hyperedge, node, observation, thread_summary @@ -36,6 +38,8 @@ "NodeListNeighborsRequestOrderBy": ".node", "NodeListRequestOrder": ".node", "NodeListRequestOrderBy": ".node", + "SearchEdgesRequestReranker": ".types", + "SearchNodesRequestReranker": ".types", "SubgraphRequestDirection": ".types", "document_summary": ".document_summary", "edge": ".edge", @@ -82,6 +86,8 @@ def __dir__(): "NodeListNeighborsRequestOrderBy", "NodeListRequestOrder", "NodeListRequestOrderBy", + "SearchEdgesRequestReranker", + "SearchNodesRequestReranker", "SubgraphRequestDirection", "document_summary", "edge", diff --git a/src/zep_cloud/graph/client.py b/src/zep_cloud/graph/client.py index ed20fa74..14d453f0 100644 --- a/src/zep_cloud/graph/client.py +++ b/src/zep_cloud/graph/client.py @@ -15,6 +15,7 @@ from ..types.custom_instruction import CustomInstruction from ..types.edge import Edge from ..types.edge_page import EdgePage +from ..types.edge_search_filters import EdgeSearchFilters from ..types.edge_type import EdgeType from ..types.entity_type import EntityType from ..types.episode import Episode @@ -28,6 +29,7 @@ from ..types.instructions import Instructions from ..types.node import Node from ..types.node_page import NodePage +from ..types.node_search_filters import NodeSearchFilters from ..types.observation import Observation from ..types.observation_page import ObservationPage from ..types.observation_steering import ObservationSteering @@ -42,6 +44,8 @@ from .types.graph_context_request_recency_bias import GraphContextRequestRecencyBias from .types.graph_list_request_order import GraphListRequestOrder from .types.graph_list_request_order_by import GraphListRequestOrderBy +from .types.search_edges_request_reranker import SearchEdgesRequestReranker +from .types.search_nodes_request_reranker import SearchNodesRequestReranker from .types.subgraph_request_direction import SubgraphRequestDirection if typing.TYPE_CHECKING: @@ -832,12 +836,14 @@ def search_edges( cursor: typing.Optional[str] = None, bfs_origin_node_uuids: typing.Optional[typing.Sequence[str]] = OMIT, center_node_uuid: typing.Optional[str] = OMIT, - filters: typing.Optional[SearchFilters] = OMIT, + filters: typing.Optional[EdgeSearchFilters] = OMIT, mmr_lambda: typing.Optional[float] = OMIT, - reranker: typing.Optional[SearchRequestReranker] = OMIT, + reranker: typing.Optional[SearchEdgesRequestReranker] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[Edge, EdgePage]: """ + Edge search does not support node_labels or exclude_node_labels. An edge has two nodes, so a node label filter is not defined for edge search. To filter edges by node label, use graph.edge.list, graph.node.list_neighbors, or graph.get_subgraph. To search the edges of nodes that have a label, do these two steps. First, call graph.search_nodes with node_labels. Then, call graph.search_edges with connected_node_uuids set to the UUIDs of the returned nodes. + Parameters ---------- graph_uuid : str @@ -859,14 +865,14 @@ def search_edges( The node to rank results by distance from. Required when reranker is node_distance. - filters : typing.Optional[SearchFilters] + filters : typing.Optional[EdgeSearchFilters] Filters constraining which items are returned. mmr_lambda : typing.Optional[float] The diversity weighting used for maximal marginal relevance reranking. Required when reranker is mmr. - reranker : typing.Optional[SearchRequestReranker] + reranker : typing.Optional[SearchEdgesRequestReranker] The reranking strategy applied to retrieved results. Defaults to rrf. request_options : typing.Optional[RequestOptions] @@ -1000,12 +1006,14 @@ def search_nodes( cursor: typing.Optional[str] = None, bfs_origin_node_uuids: typing.Optional[typing.Sequence[str]] = OMIT, center_node_uuid: typing.Optional[str] = OMIT, - filters: typing.Optional[SearchFilters] = OMIT, + filters: typing.Optional[NodeSearchFilters] = OMIT, mmr_lambda: typing.Optional[float] = OMIT, - reranker: typing.Optional[SearchRequestReranker] = OMIT, + reranker: typing.Optional[SearchNodesRequestReranker] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[Node, NodePage]: """ + Node search does not support edge_types, exclude_edge_types, edge_uuids, connected_node_uuids, source_node_uuids, or target_node_uuids. These filters select edges. To get the nodes that an edge connects, use graph.search_edges or graph.node.list_neighbors. + Parameters ---------- graph_uuid : str @@ -1027,14 +1035,14 @@ def search_nodes( The node to rank results by distance from. Required when reranker is node_distance. - filters : typing.Optional[SearchFilters] + filters : typing.Optional[NodeSearchFilters] Filters constraining which items are returned. mmr_lambda : typing.Optional[float] The diversity weighting used for maximal marginal relevance reranking. Required when reranker is mmr. - reranker : typing.Optional[SearchRequestReranker] + reranker : typing.Optional[SearchNodesRequestReranker] The reranking strategy applied to retrieved results. Defaults to rrf. request_options : typing.Optional[RequestOptions] @@ -2314,12 +2322,14 @@ async def search_edges( cursor: typing.Optional[str] = None, bfs_origin_node_uuids: typing.Optional[typing.Sequence[str]] = OMIT, center_node_uuid: typing.Optional[str] = OMIT, - filters: typing.Optional[SearchFilters] = OMIT, + filters: typing.Optional[EdgeSearchFilters] = OMIT, mmr_lambda: typing.Optional[float] = OMIT, - reranker: typing.Optional[SearchRequestReranker] = OMIT, + reranker: typing.Optional[SearchEdgesRequestReranker] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[Edge, EdgePage]: """ + Edge search does not support node_labels or exclude_node_labels. An edge has two nodes, so a node label filter is not defined for edge search. To filter edges by node label, use graph.edge.list, graph.node.list_neighbors, or graph.get_subgraph. To search the edges of nodes that have a label, do these two steps. First, call graph.search_nodes with node_labels. Then, call graph.search_edges with connected_node_uuids set to the UUIDs of the returned nodes. + Parameters ---------- graph_uuid : str @@ -2341,14 +2351,14 @@ async def search_edges( The node to rank results by distance from. Required when reranker is node_distance. - filters : typing.Optional[SearchFilters] + filters : typing.Optional[EdgeSearchFilters] Filters constraining which items are returned. mmr_lambda : typing.Optional[float] The diversity weighting used for maximal marginal relevance reranking. Required when reranker is mmr. - reranker : typing.Optional[SearchRequestReranker] + reranker : typing.Optional[SearchEdgesRequestReranker] The reranking strategy applied to retrieved results. Defaults to rrf. request_options : typing.Optional[RequestOptions] @@ -2500,12 +2510,14 @@ async def search_nodes( cursor: typing.Optional[str] = None, bfs_origin_node_uuids: typing.Optional[typing.Sequence[str]] = OMIT, center_node_uuid: typing.Optional[str] = OMIT, - filters: typing.Optional[SearchFilters] = OMIT, + filters: typing.Optional[NodeSearchFilters] = OMIT, mmr_lambda: typing.Optional[float] = OMIT, - reranker: typing.Optional[SearchRequestReranker] = OMIT, + reranker: typing.Optional[SearchNodesRequestReranker] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[Node, NodePage]: """ + Node search does not support edge_types, exclude_edge_types, edge_uuids, connected_node_uuids, source_node_uuids, or target_node_uuids. These filters select edges. To get the nodes that an edge connects, use graph.search_edges or graph.node.list_neighbors. + Parameters ---------- graph_uuid : str @@ -2527,14 +2539,14 @@ async def search_nodes( The node to rank results by distance from. Required when reranker is node_distance. - filters : typing.Optional[SearchFilters] + filters : typing.Optional[NodeSearchFilters] Filters constraining which items are returned. mmr_lambda : typing.Optional[float] The diversity weighting used for maximal marginal relevance reranking. Required when reranker is mmr. - reranker : typing.Optional[SearchRequestReranker] + reranker : typing.Optional[SearchNodesRequestReranker] The reranking strategy applied to retrieved results. Defaults to rrf. request_options : typing.Optional[RequestOptions] diff --git a/src/zep_cloud/graph/episode/client.py b/src/zep_cloud/graph/episode/client.py index e3de894c..24a97737 100644 --- a/src/zep_cloud/graph/episode/client.py +++ b/src/zep_cloud/graph/episode/client.py @@ -94,9 +94,9 @@ def add( graph_uuid: str, *, data: str, - created_at: typing.Optional[str] = OMIT, document_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + reference_time: typing.Optional[str] = OMIT, source_description: typing.Optional[str] = OMIT, strict_ontology: typing.Optional[bool] = OMIT, type: typing.Optional[AddEpisodeRequestType] = OMIT, @@ -112,16 +112,16 @@ def add( data : str The episode content to add to the graph. - created_at : typing.Optional[str] - The episode's reference time, used for temporal reasoning rather than - ingestion time. - document_id : typing.Optional[str] Groups this episode as a chunk of a document on the graph. metadata : typing.Optional[typing.Dict[str, typing.Any]] Metadata to store on the episode. Max 10 keys. Values must be strings, numbers, booleans, or arrays of scalars. + reference_time : typing.Optional[str] + The episode's reference time, used for temporal reasoning rather than + ingestion time. Defaults to the ingestion time. + source_description : typing.Optional[str] A description of the source of this episode. @@ -157,9 +157,9 @@ def add( _response = self._raw_client.add( graph_uuid, data=data, - created_at=created_at, document_id=document_id, metadata=metadata, + reference_time=reference_time, source_description=source_description, strict_ontology=strict_ontology, type=type, @@ -547,9 +547,9 @@ async def add( graph_uuid: str, *, data: str, - created_at: typing.Optional[str] = OMIT, document_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + reference_time: typing.Optional[str] = OMIT, source_description: typing.Optional[str] = OMIT, strict_ontology: typing.Optional[bool] = OMIT, type: typing.Optional[AddEpisodeRequestType] = OMIT, @@ -565,16 +565,16 @@ async def add( data : str The episode content to add to the graph. - created_at : typing.Optional[str] - The episode's reference time, used for temporal reasoning rather than - ingestion time. - document_id : typing.Optional[str] Groups this episode as a chunk of a document on the graph. metadata : typing.Optional[typing.Dict[str, typing.Any]] Metadata to store on the episode. Max 10 keys. Values must be strings, numbers, booleans, or arrays of scalars. + reference_time : typing.Optional[str] + The episode's reference time, used for temporal reasoning rather than + ingestion time. Defaults to the ingestion time. + source_description : typing.Optional[str] A description of the source of this episode. @@ -618,9 +618,9 @@ async def main() -> None: _response = await self._raw_client.add( graph_uuid, data=data, - created_at=created_at, document_id=document_id, metadata=metadata, + reference_time=reference_time, source_description=source_description, strict_ontology=strict_ontology, type=type, diff --git a/src/zep_cloud/graph/episode/raw_client.py b/src/zep_cloud/graph/episode/raw_client.py index 92f2b723..d3355e39 100644 --- a/src/zep_cloud/graph/episode/raw_client.py +++ b/src/zep_cloud/graph/episode/raw_client.py @@ -172,9 +172,9 @@ def add( graph_uuid: str, *, data: str, - created_at: typing.Optional[str] = OMIT, document_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + reference_time: typing.Optional[str] = OMIT, source_description: typing.Optional[str] = OMIT, strict_ontology: typing.Optional[bool] = OMIT, type: typing.Optional[AddEpisodeRequestType] = OMIT, @@ -190,16 +190,16 @@ def add( data : str The episode content to add to the graph. - created_at : typing.Optional[str] - The episode's reference time, used for temporal reasoning rather than - ingestion time. - document_id : typing.Optional[str] Groups this episode as a chunk of a document on the graph. metadata : typing.Optional[typing.Dict[str, typing.Any]] Metadata to store on the episode. Max 10 keys. Values must be strings, numbers, booleans, or arrays of scalars. + reference_time : typing.Optional[str] + The episode's reference time, used for temporal reasoning rather than + ingestion time. Defaults to the ingestion time. + source_description : typing.Optional[str] A description of the source of this episode. @@ -224,10 +224,10 @@ def add( f"graphs/{encode_path_param(graph_uuid)}/episodes", method="POST", json={ - "created_at": created_at, "data": data, "document_id": document_id, "metadata": metadata, + "reference_time": reference_time, "source_description": source_description, "strict_ontology": strict_ontology, "type": type, @@ -1145,9 +1145,9 @@ async def add( graph_uuid: str, *, data: str, - created_at: typing.Optional[str] = OMIT, document_id: typing.Optional[str] = OMIT, metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + reference_time: typing.Optional[str] = OMIT, source_description: typing.Optional[str] = OMIT, strict_ontology: typing.Optional[bool] = OMIT, type: typing.Optional[AddEpisodeRequestType] = OMIT, @@ -1163,16 +1163,16 @@ async def add( data : str The episode content to add to the graph. - created_at : typing.Optional[str] - The episode's reference time, used for temporal reasoning rather than - ingestion time. - document_id : typing.Optional[str] Groups this episode as a chunk of a document on the graph. metadata : typing.Optional[typing.Dict[str, typing.Any]] Metadata to store on the episode. Max 10 keys. Values must be strings, numbers, booleans, or arrays of scalars. + reference_time : typing.Optional[str] + The episode's reference time, used for temporal reasoning rather than + ingestion time. Defaults to the ingestion time. + source_description : typing.Optional[str] A description of the source of this episode. @@ -1197,10 +1197,10 @@ async def add( f"graphs/{encode_path_param(graph_uuid)}/episodes", method="POST", json={ - "created_at": created_at, "data": data, "document_id": document_id, "metadata": metadata, + "reference_time": reference_time, "source_description": source_description, "strict_ontology": strict_ontology, "type": type, diff --git a/src/zep_cloud/graph/raw_client.py b/src/zep_cloud/graph/raw_client.py index 2f4c9ecf..6e2a37f3 100644 --- a/src/zep_cloud/graph/raw_client.py +++ b/src/zep_cloud/graph/raw_client.py @@ -27,6 +27,7 @@ from ..types.custom_instruction import CustomInstruction from ..types.edge import Edge from ..types.edge_page import EdgePage +from ..types.edge_search_filters import EdgeSearchFilters from ..types.edge_type import EdgeType from ..types.entity_type import EntityType from ..types.episode import Episode @@ -40,6 +41,7 @@ from ..types.instructions import Instructions from ..types.node import Node from ..types.node_page import NodePage +from ..types.node_search_filters import NodeSearchFilters from ..types.observation import Observation from ..types.observation_page import ObservationPage from ..types.observation_steering import ObservationSteering @@ -53,6 +55,8 @@ from .types.graph_context_request_recency_bias import GraphContextRequestRecencyBias from .types.graph_list_request_order import GraphListRequestOrder from .types.graph_list_request_order_by import GraphListRequestOrderBy +from .types.search_edges_request_reranker import SearchEdgesRequestReranker +from .types.search_nodes_request_reranker import SearchNodesRequestReranker from .types.subgraph_request_direction import SubgraphRequestDirection from pydantic import ValidationError @@ -1809,12 +1813,14 @@ def search_edges( cursor: typing.Optional[str] = None, bfs_origin_node_uuids: typing.Optional[typing.Sequence[str]] = OMIT, center_node_uuid: typing.Optional[str] = OMIT, - filters: typing.Optional[SearchFilters] = OMIT, + filters: typing.Optional[EdgeSearchFilters] = OMIT, mmr_lambda: typing.Optional[float] = OMIT, - reranker: typing.Optional[SearchRequestReranker] = OMIT, + reranker: typing.Optional[SearchEdgesRequestReranker] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[Edge, EdgePage]: """ + Edge search does not support node_labels or exclude_node_labels. An edge has two nodes, so a node label filter is not defined for edge search. To filter edges by node label, use graph.edge.list, graph.node.list_neighbors, or graph.get_subgraph. To search the edges of nodes that have a label, do these two steps. First, call graph.search_nodes with node_labels. Then, call graph.search_edges with connected_node_uuids set to the UUIDs of the returned nodes. + Parameters ---------- graph_uuid : str @@ -1836,14 +1842,14 @@ def search_edges( The node to rank results by distance from. Required when reranker is node_distance. - filters : typing.Optional[SearchFilters] + filters : typing.Optional[EdgeSearchFilters] Filters constraining which items are returned. mmr_lambda : typing.Optional[float] The diversity weighting used for maximal marginal relevance reranking. Required when reranker is mmr. - reranker : typing.Optional[SearchRequestReranker] + reranker : typing.Optional[SearchEdgesRequestReranker] The reranking strategy applied to retrieved results. Defaults to rrf. request_options : typing.Optional[RequestOptions] @@ -1865,7 +1871,7 @@ def search_edges( "bfs_origin_node_uuids": bfs_origin_node_uuids, "center_node_uuid": center_node_uuid, "filters": convert_and_respect_annotation_metadata( - object_=filters, annotation=SearchFilters, direction="write" + object_=filters, annotation=EdgeSearchFilters, direction="write" ), "mmr_lambda": mmr_lambda, "query": query, @@ -2129,12 +2135,14 @@ def search_nodes( cursor: typing.Optional[str] = None, bfs_origin_node_uuids: typing.Optional[typing.Sequence[str]] = OMIT, center_node_uuid: typing.Optional[str] = OMIT, - filters: typing.Optional[SearchFilters] = OMIT, + filters: typing.Optional[NodeSearchFilters] = OMIT, mmr_lambda: typing.Optional[float] = OMIT, - reranker: typing.Optional[SearchRequestReranker] = OMIT, + reranker: typing.Optional[SearchNodesRequestReranker] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[Node, NodePage]: """ + Node search does not support edge_types, exclude_edge_types, edge_uuids, connected_node_uuids, source_node_uuids, or target_node_uuids. These filters select edges. To get the nodes that an edge connects, use graph.search_edges or graph.node.list_neighbors. + Parameters ---------- graph_uuid : str @@ -2156,14 +2164,14 @@ def search_nodes( The node to rank results by distance from. Required when reranker is node_distance. - filters : typing.Optional[SearchFilters] + filters : typing.Optional[NodeSearchFilters] Filters constraining which items are returned. mmr_lambda : typing.Optional[float] The diversity weighting used for maximal marginal relevance reranking. Required when reranker is mmr. - reranker : typing.Optional[SearchRequestReranker] + reranker : typing.Optional[SearchNodesRequestReranker] The reranking strategy applied to retrieved results. Defaults to rrf. request_options : typing.Optional[RequestOptions] @@ -2185,7 +2193,7 @@ def search_nodes( "bfs_origin_node_uuids": bfs_origin_node_uuids, "center_node_uuid": center_node_uuid, "filters": convert_and_respect_annotation_metadata( - object_=filters, annotation=SearchFilters, direction="write" + object_=filters, annotation=NodeSearchFilters, direction="write" ), "mmr_lambda": mmr_lambda, "query": query, @@ -4599,12 +4607,14 @@ async def search_edges( cursor: typing.Optional[str] = None, bfs_origin_node_uuids: typing.Optional[typing.Sequence[str]] = OMIT, center_node_uuid: typing.Optional[str] = OMIT, - filters: typing.Optional[SearchFilters] = OMIT, + filters: typing.Optional[EdgeSearchFilters] = OMIT, mmr_lambda: typing.Optional[float] = OMIT, - reranker: typing.Optional[SearchRequestReranker] = OMIT, + reranker: typing.Optional[SearchEdgesRequestReranker] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[Edge, EdgePage]: """ + Edge search does not support node_labels or exclude_node_labels. An edge has two nodes, so a node label filter is not defined for edge search. To filter edges by node label, use graph.edge.list, graph.node.list_neighbors, or graph.get_subgraph. To search the edges of nodes that have a label, do these two steps. First, call graph.search_nodes with node_labels. Then, call graph.search_edges with connected_node_uuids set to the UUIDs of the returned nodes. + Parameters ---------- graph_uuid : str @@ -4626,14 +4636,14 @@ async def search_edges( The node to rank results by distance from. Required when reranker is node_distance. - filters : typing.Optional[SearchFilters] + filters : typing.Optional[EdgeSearchFilters] Filters constraining which items are returned. mmr_lambda : typing.Optional[float] The diversity weighting used for maximal marginal relevance reranking. Required when reranker is mmr. - reranker : typing.Optional[SearchRequestReranker] + reranker : typing.Optional[SearchEdgesRequestReranker] The reranking strategy applied to retrieved results. Defaults to rrf. request_options : typing.Optional[RequestOptions] @@ -4655,7 +4665,7 @@ async def search_edges( "bfs_origin_node_uuids": bfs_origin_node_uuids, "center_node_uuid": center_node_uuid, "filters": convert_and_respect_annotation_metadata( - object_=filters, annotation=SearchFilters, direction="write" + object_=filters, annotation=EdgeSearchFilters, direction="write" ), "mmr_lambda": mmr_lambda, "query": query, @@ -4925,12 +4935,14 @@ async def search_nodes( cursor: typing.Optional[str] = None, bfs_origin_node_uuids: typing.Optional[typing.Sequence[str]] = OMIT, center_node_uuid: typing.Optional[str] = OMIT, - filters: typing.Optional[SearchFilters] = OMIT, + filters: typing.Optional[NodeSearchFilters] = OMIT, mmr_lambda: typing.Optional[float] = OMIT, - reranker: typing.Optional[SearchRequestReranker] = OMIT, + reranker: typing.Optional[SearchNodesRequestReranker] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[Node, NodePage]: """ + Node search does not support edge_types, exclude_edge_types, edge_uuids, connected_node_uuids, source_node_uuids, or target_node_uuids. These filters select edges. To get the nodes that an edge connects, use graph.search_edges or graph.node.list_neighbors. + Parameters ---------- graph_uuid : str @@ -4952,14 +4964,14 @@ async def search_nodes( The node to rank results by distance from. Required when reranker is node_distance. - filters : typing.Optional[SearchFilters] + filters : typing.Optional[NodeSearchFilters] Filters constraining which items are returned. mmr_lambda : typing.Optional[float] The diversity weighting used for maximal marginal relevance reranking. Required when reranker is mmr. - reranker : typing.Optional[SearchRequestReranker] + reranker : typing.Optional[SearchNodesRequestReranker] The reranking strategy applied to retrieved results. Defaults to rrf. request_options : typing.Optional[RequestOptions] @@ -4981,7 +4993,7 @@ async def search_nodes( "bfs_origin_node_uuids": bfs_origin_node_uuids, "center_node_uuid": center_node_uuid, "filters": convert_and_respect_annotation_metadata( - object_=filters, annotation=SearchFilters, direction="write" + object_=filters, annotation=NodeSearchFilters, direction="write" ), "mmr_lambda": mmr_lambda, "query": query, diff --git a/src/zep_cloud/graph/types/__init__.py b/src/zep_cloud/graph/types/__init__.py index a6aca73a..73f18e14 100644 --- a/src/zep_cloud/graph/types/__init__.py +++ b/src/zep_cloud/graph/types/__init__.py @@ -9,11 +9,15 @@ from .graph_context_request_recency_bias import GraphContextRequestRecencyBias from .graph_list_request_order import GraphListRequestOrder from .graph_list_request_order_by import GraphListRequestOrderBy + from .search_edges_request_reranker import SearchEdgesRequestReranker + from .search_nodes_request_reranker import SearchNodesRequestReranker from .subgraph_request_direction import SubgraphRequestDirection _dynamic_imports: typing.Dict[str, str] = { "GraphContextRequestRecencyBias": ".graph_context_request_recency_bias", "GraphListRequestOrder": ".graph_list_request_order", "GraphListRequestOrderBy": ".graph_list_request_order_by", + "SearchEdgesRequestReranker": ".search_edges_request_reranker", + "SearchNodesRequestReranker": ".search_nodes_request_reranker", "SubgraphRequestDirection": ".subgraph_request_direction", } @@ -43,5 +47,7 @@ def __dir__(): "GraphContextRequestRecencyBias", "GraphListRequestOrder", "GraphListRequestOrderBy", + "SearchEdgesRequestReranker", + "SearchNodesRequestReranker", "SubgraphRequestDirection", ] diff --git a/src/zep_cloud/graph/types/search_edges_request_reranker.py b/src/zep_cloud/graph/types/search_edges_request_reranker.py new file mode 100644 index 00000000..4bec7690 --- /dev/null +++ b/src/zep_cloud/graph/types/search_edges_request_reranker.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +SearchEdgesRequestReranker = typing.Union[ + typing.Literal["rrf", "mmr", "node_distance", "episode_mentions", "cross_encoder"], typing.Any +] diff --git a/src/zep_cloud/graph/types/search_nodes_request_reranker.py b/src/zep_cloud/graph/types/search_nodes_request_reranker.py new file mode 100644 index 00000000..7e277a92 --- /dev/null +++ b/src/zep_cloud/graph/types/search_nodes_request_reranker.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +SearchNodesRequestReranker = typing.Union[ + typing.Literal["rrf", "mmr", "node_distance", "episode_mentions", "cross_encoder"], typing.Any +] diff --git a/src/zep_cloud/project/client.py b/src/zep_cloud/project/client.py index eef704ef..0343a34b 100644 --- a/src/zep_cloud/project/client.py +++ b/src/zep_cloud/project/client.py @@ -68,17 +68,24 @@ def update( self, *, default_time_zone: typing.Optional[str] = OMIT, + hyperedges_enabled: typing.Optional[bool] = OMIT, include_policy_violating_episodes: typing.Optional[bool] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> Project: """ + Set `hyperedges_enabled` to `true` to enable extraction. A member needs the `project.edit` permission. Project API keys receive `403 permission_denied`. + Parameters ---------- default_time_zone : typing.Optional[str] The project's IANA fallback time zone. Set to null to clear the existing value. + hyperedges_enabled : typing.Optional[bool] + Set to true to enable hyperedge extraction. This setting cannot be disabled. + A member needs project.edit. Project API keys receive 403 permission_denied. + include_policy_violating_episodes : typing.Optional[bool] When true, episode reads on graphs with a content policy include the episodes that violated the policy. @@ -104,6 +111,7 @@ def update( """ _response = self._raw_client.update( default_time_zone=default_time_zone, + hyperedges_enabled=hyperedges_enabled, include_policy_violating_episodes=include_policy_violating_episodes, idempotency_key=idempotency_key, request_options=request_options, @@ -608,17 +616,24 @@ async def update( self, *, default_time_zone: typing.Optional[str] = OMIT, + hyperedges_enabled: typing.Optional[bool] = OMIT, include_policy_violating_episodes: typing.Optional[bool] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> Project: """ + Set `hyperedges_enabled` to `true` to enable extraction. A member needs the `project.edit` permission. Project API keys receive `403 permission_denied`. + Parameters ---------- default_time_zone : typing.Optional[str] The project's IANA fallback time zone. Set to null to clear the existing value. + hyperedges_enabled : typing.Optional[bool] + Set to true to enable hyperedge extraction. This setting cannot be disabled. + A member needs project.edit. Project API keys receive 403 permission_denied. + include_policy_violating_episodes : typing.Optional[bool] When true, episode reads on graphs with a content policy include the episodes that violated the policy. @@ -652,6 +667,7 @@ async def main() -> None: """ _response = await self._raw_client.update( default_time_zone=default_time_zone, + hyperedges_enabled=hyperedges_enabled, include_policy_violating_episodes=include_policy_violating_episodes, idempotency_key=idempotency_key, request_options=request_options, diff --git a/src/zep_cloud/project/raw_client.py b/src/zep_cloud/project/raw_client.py index 332fcbf1..075507c3 100644 --- a/src/zep_cloud/project/raw_client.py +++ b/src/zep_cloud/project/raw_client.py @@ -120,17 +120,24 @@ def update( self, *, default_time_zone: typing.Optional[str] = OMIT, + hyperedges_enabled: typing.Optional[bool] = OMIT, include_policy_violating_episodes: typing.Optional[bool] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[Project]: """ + Set `hyperedges_enabled` to `true` to enable extraction. A member needs the `project.edit` permission. Project API keys receive `403 permission_denied`. + Parameters ---------- default_time_zone : typing.Optional[str] The project's IANA fallback time zone. Set to null to clear the existing value. + hyperedges_enabled : typing.Optional[bool] + Set to true to enable hyperedge extraction. This setting cannot be disabled. + A member needs project.edit. Project API keys receive 403 permission_denied. + include_policy_violating_episodes : typing.Optional[bool] When true, episode reads on graphs with a content policy include the episodes that violated the policy. @@ -150,6 +157,7 @@ def update( method="PATCH", json={ "default_time_zone": default_time_zone, + "hyperedges_enabled": hyperedges_enabled, "include_policy_violating_episodes": include_policy_violating_episodes, }, headers={ @@ -191,6 +199,17 @@ def update( ), ), ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) if _response.status_code == 404: raise NotFoundError( headers=dict(_response.headers), @@ -1387,17 +1406,24 @@ async def update( self, *, default_time_zone: typing.Optional[str] = OMIT, + hyperedges_enabled: typing.Optional[bool] = OMIT, include_policy_violating_episodes: typing.Optional[bool] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[Project]: """ + Set `hyperedges_enabled` to `true` to enable extraction. A member needs the `project.edit` permission. Project API keys receive `403 permission_denied`. + Parameters ---------- default_time_zone : typing.Optional[str] The project's IANA fallback time zone. Set to null to clear the existing value. + hyperedges_enabled : typing.Optional[bool] + Set to true to enable hyperedge extraction. This setting cannot be disabled. + A member needs project.edit. Project API keys receive 403 permission_denied. + include_policy_violating_episodes : typing.Optional[bool] When true, episode reads on graphs with a content policy include the episodes that violated the policy. @@ -1417,6 +1443,7 @@ async def update( method="PATCH", json={ "default_time_zone": default_time_zone, + "hyperedges_enabled": hyperedges_enabled, "include_policy_violating_episodes": include_policy_violating_episodes, }, headers={ @@ -1458,6 +1485,17 @@ async def update( ), ), ) + if _response.status_code == 403: + raise ForbiddenError( + headers=dict(_response.headers), + body=typing.cast( + types_api_error_ApiError, + parse_obj_as( + type_=types_api_error_ApiError, # type: ignore + object_=_response.json(), + ), + ), + ) if _response.status_code == 404: raise NotFoundError( headers=dict(_response.headers), diff --git a/src/zep_cloud/trace_connection/__init__.py b/src/zep_cloud/trace_connection/__init__.py index 7afeda57..a2e08d09 100644 --- a/src/zep_cloud/trace_connection/__init__.py +++ b/src/zep_cloud/trace_connection/__init__.py @@ -6,8 +6,13 @@ from importlib import import_module if typing.TYPE_CHECKING: + from .types import CreateTraceConnectionRequestProvider from . import project, trace -_dynamic_imports: typing.Dict[str, str] = {"project": ".project", "trace": ".trace"} +_dynamic_imports: typing.Dict[str, str] = { + "CreateTraceConnectionRequestProvider": ".types", + "project": ".project", + "trace": ".trace", +} def __getattr__(attr_name: str) -> typing.Any: @@ -31,4 +36,4 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["project", "trace"] +__all__ = ["CreateTraceConnectionRequestProvider", "project", "trace"] diff --git a/src/zep_cloud/trace_connection/client.py b/src/zep_cloud/trace_connection/client.py index 97889f74..6ce7cc24 100644 --- a/src/zep_cloud/trace_connection/client.py +++ b/src/zep_cloud/trace_connection/client.py @@ -10,6 +10,7 @@ from ..types.trace_connection import TraceConnection from ..types.trace_connection_page import TraceConnectionPage from .raw_client import AsyncRawTraceConnectionClient, RawTraceConnectionClient +from .types.create_trace_connection_request_provider import CreateTraceConnectionRequestProvider if typing.TYPE_CHECKING: from .project.client import AsyncProjectClient, ProjectClient @@ -84,14 +85,14 @@ def create( api_url: typing.Optional[str] = OMIT, credential: typing.Optional[str] = OMIT, name: typing.Optional[str] = OMIT, - provider: typing.Optional[str] = OMIT, + provider: typing.Optional[CreateTraceConnectionRequestProvider] = OMIT, requests_per_minute: typing.Optional[int] = OMIT, retention_days: typing.Optional[int] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> TraceConnection: """ - Verify the provider credential before Zep stores it. Example request: `{"name":"Support traces","provider":"braintrust","credential":"secret","requests_per_minute":10}`. + Verify a provider credential before Zep stores it. Both providers accept 1 to 60 requests per minute and an optional retention window. Example requests: `{"name":"Support traces","provider":"braintrust","credential":"secret","requests_per_minute":60,"retention_days":30}` and `{"name":"Support traces","provider":"langsmith","credential":"secret","requests_per_minute":60,"retention_days":30}`. Parameters ---------- @@ -104,14 +105,14 @@ def create( name : typing.Optional[str] Name is the connection name. - provider : typing.Optional[str] - Provider is the provider name. + provider : typing.Optional[CreateTraceConnectionRequestProvider] + Provider is the Braintrust or LangSmith provider. requests_per_minute : typing.Optional[int] - RequestsPerMinute is the provider request rate limit. + RequestsPerMinute is the request rate limit from 1 to 60 per minute. retention_days : typing.Optional[int] - RetentionDays is an optional provider retention window. + RetentionDays is an optional retention window in days. idempotency_key : typing.Optional[str] @@ -183,7 +184,7 @@ def delete( request_options: typing.Optional[RequestOptions] = None, ) -> None: """ - Delete a trace connection that no active trajectory import uses. + Delete a trace connection that no active trace import uses. Parameters ---------- @@ -228,7 +229,7 @@ def update( request_options: typing.Optional[RequestOptions] = None, ) -> TraceConnection: """ - Verify changed provider settings before Zep stores them. Example request: `{"credential":"new-secret","requests_per_minute":20}`. + Verify changed settings before Zep stores them. Both providers accept 1 to 60 requests per minute and an optional retention window. Example request: `{"requests_per_minute":60,"retention_days":30}`. Parameters ---------- @@ -245,10 +246,10 @@ def update( Name is the new connection name, when supplied. requests_per_minute : typing.Optional[int] - RequestsPerMinute is the new provider request rate limit, when supplied. + RequestsPerMinute is the new request rate limit, when supplied. retention_days : typing.Optional[int] - RetentionDays is the new provider retention window, when supplied. + RetentionDays is the new retention window in days, when supplied. idempotency_key : typing.Optional[str] @@ -416,14 +417,14 @@ async def create( api_url: typing.Optional[str] = OMIT, credential: typing.Optional[str] = OMIT, name: typing.Optional[str] = OMIT, - provider: typing.Optional[str] = OMIT, + provider: typing.Optional[CreateTraceConnectionRequestProvider] = OMIT, requests_per_minute: typing.Optional[int] = OMIT, retention_days: typing.Optional[int] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> TraceConnection: """ - Verify the provider credential before Zep stores it. Example request: `{"name":"Support traces","provider":"braintrust","credential":"secret","requests_per_minute":10}`. + Verify a provider credential before Zep stores it. Both providers accept 1 to 60 requests per minute and an optional retention window. Example requests: `{"name":"Support traces","provider":"braintrust","credential":"secret","requests_per_minute":60,"retention_days":30}` and `{"name":"Support traces","provider":"langsmith","credential":"secret","requests_per_minute":60,"retention_days":30}`. Parameters ---------- @@ -436,14 +437,14 @@ async def create( name : typing.Optional[str] Name is the connection name. - provider : typing.Optional[str] - Provider is the provider name. + provider : typing.Optional[CreateTraceConnectionRequestProvider] + Provider is the Braintrust or LangSmith provider. requests_per_minute : typing.Optional[int] - RequestsPerMinute is the provider request rate limit. + RequestsPerMinute is the request rate limit from 1 to 60 per minute. retention_days : typing.Optional[int] - RetentionDays is an optional provider retention window. + RetentionDays is an optional retention window in days. idempotency_key : typing.Optional[str] @@ -533,7 +534,7 @@ async def delete( request_options: typing.Optional[RequestOptions] = None, ) -> None: """ - Delete a trace connection that no active trajectory import uses. + Delete a trace connection that no active trace import uses. Parameters ---------- @@ -586,7 +587,7 @@ async def update( request_options: typing.Optional[RequestOptions] = None, ) -> TraceConnection: """ - Verify changed provider settings before Zep stores them. Example request: `{"credential":"new-secret","requests_per_minute":20}`. + Verify changed settings before Zep stores them. Both providers accept 1 to 60 requests per minute and an optional retention window. Example request: `{"requests_per_minute":60,"retention_days":30}`. Parameters ---------- @@ -603,10 +604,10 @@ async def update( Name is the new connection name, when supplied. requests_per_minute : typing.Optional[int] - RequestsPerMinute is the new provider request rate limit, when supplied. + RequestsPerMinute is the new request rate limit, when supplied. retention_days : typing.Optional[int] - RetentionDays is the new provider retention window, when supplied. + RetentionDays is the new retention window in days, when supplied. idempotency_key : typing.Optional[str] diff --git a/src/zep_cloud/trace_connection/raw_client.py b/src/zep_cloud/trace_connection/raw_client.py index 8d3a0350..8246016f 100644 --- a/src/zep_cloud/trace_connection/raw_client.py +++ b/src/zep_cloud/trace_connection/raw_client.py @@ -21,6 +21,7 @@ from ..types.api_error import ApiError as types_api_error_ApiError from ..types.trace_connection import TraceConnection from ..types.trace_connection_page import TraceConnectionPage +from .types.create_trace_connection_request_provider import CreateTraceConnectionRequestProvider from pydantic import ValidationError # this is used as the default value for optional parameters @@ -125,14 +126,14 @@ def create( api_url: typing.Optional[str] = OMIT, credential: typing.Optional[str] = OMIT, name: typing.Optional[str] = OMIT, - provider: typing.Optional[str] = OMIT, + provider: typing.Optional[CreateTraceConnectionRequestProvider] = OMIT, requests_per_minute: typing.Optional[int] = OMIT, retention_days: typing.Optional[int] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[TraceConnection]: """ - Verify the provider credential before Zep stores it. Example request: `{"name":"Support traces","provider":"braintrust","credential":"secret","requests_per_minute":10}`. + Verify a provider credential before Zep stores it. Both providers accept 1 to 60 requests per minute and an optional retention window. Example requests: `{"name":"Support traces","provider":"braintrust","credential":"secret","requests_per_minute":60,"retention_days":30}` and `{"name":"Support traces","provider":"langsmith","credential":"secret","requests_per_minute":60,"retention_days":30}`. Parameters ---------- @@ -145,14 +146,14 @@ def create( name : typing.Optional[str] Name is the connection name. - provider : typing.Optional[str] - Provider is the provider name. + provider : typing.Optional[CreateTraceConnectionRequestProvider] + Provider is the Braintrust or LangSmith provider. requests_per_minute : typing.Optional[int] - RequestsPerMinute is the provider request rate limit. + RequestsPerMinute is the request rate limit from 1 to 60 per minute. retention_days : typing.Optional[int] - RetentionDays is an optional provider retention window. + RetentionDays is an optional retention window in days. idempotency_key : typing.Optional[str] @@ -337,7 +338,7 @@ def delete( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[None]: """ - Delete a trace connection that no active trajectory import uses. + Delete a trace connection that no active trace import uses. Parameters ---------- @@ -434,7 +435,7 @@ def update( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[TraceConnection]: """ - Verify changed provider settings before Zep stores them. Example request: `{"credential":"new-secret","requests_per_minute":20}`. + Verify changed settings before Zep stores them. Both providers accept 1 to 60 requests per minute and an optional retention window. Example request: `{"requests_per_minute":60,"retention_days":30}`. Parameters ---------- @@ -451,10 +452,10 @@ def update( Name is the new connection name, when supplied. requests_per_minute : typing.Optional[int] - RequestsPerMinute is the new provider request rate limit, when supplied. + RequestsPerMinute is the new request rate limit, when supplied. retention_days : typing.Optional[int] - RetentionDays is the new provider retention window, when supplied. + RetentionDays is the new retention window in days, when supplied. idempotency_key : typing.Optional[str] @@ -785,14 +786,14 @@ async def create( api_url: typing.Optional[str] = OMIT, credential: typing.Optional[str] = OMIT, name: typing.Optional[str] = OMIT, - provider: typing.Optional[str] = OMIT, + provider: typing.Optional[CreateTraceConnectionRequestProvider] = OMIT, requests_per_minute: typing.Optional[int] = OMIT, retention_days: typing.Optional[int] = OMIT, idempotency_key: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[TraceConnection]: """ - Verify the provider credential before Zep stores it. Example request: `{"name":"Support traces","provider":"braintrust","credential":"secret","requests_per_minute":10}`. + Verify a provider credential before Zep stores it. Both providers accept 1 to 60 requests per minute and an optional retention window. Example requests: `{"name":"Support traces","provider":"braintrust","credential":"secret","requests_per_minute":60,"retention_days":30}` and `{"name":"Support traces","provider":"langsmith","credential":"secret","requests_per_minute":60,"retention_days":30}`. Parameters ---------- @@ -805,14 +806,14 @@ async def create( name : typing.Optional[str] Name is the connection name. - provider : typing.Optional[str] - Provider is the provider name. + provider : typing.Optional[CreateTraceConnectionRequestProvider] + Provider is the Braintrust or LangSmith provider. requests_per_minute : typing.Optional[int] - RequestsPerMinute is the provider request rate limit. + RequestsPerMinute is the request rate limit from 1 to 60 per minute. retention_days : typing.Optional[int] - RetentionDays is an optional provider retention window. + RetentionDays is an optional retention window in days. idempotency_key : typing.Optional[str] @@ -997,7 +998,7 @@ async def delete( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[None]: """ - Delete a trace connection that no active trajectory import uses. + Delete a trace connection that no active trace import uses. Parameters ---------- @@ -1094,7 +1095,7 @@ async def update( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[TraceConnection]: """ - Verify changed provider settings before Zep stores them. Example request: `{"credential":"new-secret","requests_per_minute":20}`. + Verify changed settings before Zep stores them. Both providers accept 1 to 60 requests per minute and an optional retention window. Example request: `{"requests_per_minute":60,"retention_days":30}`. Parameters ---------- @@ -1111,10 +1112,10 @@ async def update( Name is the new connection name, when supplied. requests_per_minute : typing.Optional[int] - RequestsPerMinute is the new provider request rate limit, when supplied. + RequestsPerMinute is the new request rate limit, when supplied. retention_days : typing.Optional[int] - RetentionDays is the new provider retention window, when supplied. + RetentionDays is the new retention window in days, when supplied. idempotency_key : typing.Optional[str] diff --git a/src/zep_cloud/trace_connection/trace/client.py b/src/zep_cloud/trace_connection/trace/client.py index dc8ac6b3..bc3a2e5f 100644 --- a/src/zep_cloud/trace_connection/trace/client.py +++ b/src/zep_cloud/trace_connection/trace/client.py @@ -9,7 +9,7 @@ from ...types.source_trace_response import SourceTraceResponse from ...types.source_trace_summary import SourceTraceSummary from ...types.trace_filter import TraceFilter -from ...types.trajectory_mapping import TrajectoryMapping +from ...types.trace_mapping import TraceMapping from .raw_client import AsyncRawTraceClient, RawTraceClient # this is used as the default value for optional parameters @@ -37,7 +37,7 @@ def get( *, provider_project_id: str, trace_id: str, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> SourceTraceResponse: """ @@ -54,7 +54,7 @@ def get( trace_id : str TraceID is the provider trace identifier. - mapping : typing.Optional[TrajectoryMapping] + mapping : typing.Optional[TraceMapping] Mapping is an optional mapping preview configuration. Example: {"task_family":{"source":"fixed","value":"support"}}. request_options : typing.Optional[RequestOptions] @@ -173,7 +173,7 @@ async def get( *, provider_project_id: str, trace_id: str, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> SourceTraceResponse: """ @@ -190,7 +190,7 @@ async def get( trace_id : str TraceID is the provider trace identifier. - mapping : typing.Optional[TrajectoryMapping] + mapping : typing.Optional[TraceMapping] Mapping is an optional mapping preview configuration. Example: {"task_family":{"source":"fixed","value":"support"}}. request_options : typing.Optional[RequestOptions] diff --git a/src/zep_cloud/trace_connection/trace/raw_client.py b/src/zep_cloud/trace_connection/trace/raw_client.py index f4736e64..ef616f93 100644 --- a/src/zep_cloud/trace_connection/trace/raw_client.py +++ b/src/zep_cloud/trace_connection/trace/raw_client.py @@ -23,7 +23,7 @@ from ...types.source_trace_response import SourceTraceResponse from ...types.source_trace_summary import SourceTraceSummary from ...types.trace_filter import TraceFilter -from ...types.trajectory_mapping import TrajectoryMapping +from ...types.trace_mapping import TraceMapping from pydantic import ValidationError # this is used as the default value for optional parameters @@ -40,7 +40,7 @@ def get( *, provider_project_id: str, trace_id: str, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[SourceTraceResponse]: """ @@ -57,7 +57,7 @@ def get( trace_id : str TraceID is the provider trace identifier. - mapping : typing.Optional[TrajectoryMapping] + mapping : typing.Optional[TraceMapping] Mapping is an optional mapping preview configuration. Example: {"task_family":{"source":"fixed","value":"support"}}. request_options : typing.Optional[RequestOptions] @@ -73,7 +73,7 @@ def get( method="POST", json={ "mapping": convert_and_respect_annotation_metadata( - object_=mapping, annotation=TrajectoryMapping, direction="write" + object_=mapping, annotation=TraceMapping, direction="write" ), "provider_project_id": provider_project_id, "trace_id": trace_id, @@ -321,7 +321,7 @@ async def get( *, provider_project_id: str, trace_id: str, - mapping: typing.Optional[TrajectoryMapping] = OMIT, + mapping: typing.Optional[TraceMapping] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[SourceTraceResponse]: """ @@ -338,7 +338,7 @@ async def get( trace_id : str TraceID is the provider trace identifier. - mapping : typing.Optional[TrajectoryMapping] + mapping : typing.Optional[TraceMapping] Mapping is an optional mapping preview configuration. Example: {"task_family":{"source":"fixed","value":"support"}}. request_options : typing.Optional[RequestOptions] @@ -354,7 +354,7 @@ async def get( method="POST", json={ "mapping": convert_and_respect_annotation_metadata( - object_=mapping, annotation=TrajectoryMapping, direction="write" + object_=mapping, annotation=TraceMapping, direction="write" ), "provider_project_id": provider_project_id, "trace_id": trace_id, diff --git a/src/zep_cloud/agent/trajectory_import/types/__init__.py b/src/zep_cloud/trace_connection/types/__init__.py similarity index 78% rename from src/zep_cloud/agent/trajectory_import/types/__init__.py rename to src/zep_cloud/trace_connection/types/__init__.py index f7fba247..9f472894 100644 --- a/src/zep_cloud/agent/trajectory_import/types/__init__.py +++ b/src/zep_cloud/trace_connection/types/__init__.py @@ -6,9 +6,9 @@ from importlib import import_module if typing.TYPE_CHECKING: - from .trajectory_import_delete_request_trajectories import TrajectoryImportDeleteRequestTrajectories + from .create_trace_connection_request_provider import CreateTraceConnectionRequestProvider _dynamic_imports: typing.Dict[str, str] = { - "TrajectoryImportDeleteRequestTrajectories": ".trajectory_import_delete_request_trajectories" + "CreateTraceConnectionRequestProvider": ".create_trace_connection_request_provider" } @@ -33,4 +33,4 @@ def __dir__(): return sorted(lazy_attrs) -__all__ = ["TrajectoryImportDeleteRequestTrajectories"] +__all__ = ["CreateTraceConnectionRequestProvider"] diff --git a/src/zep_cloud/trace_connection/types/create_trace_connection_request_provider.py b/src/zep_cloud/trace_connection/types/create_trace_connection_request_provider.py new file mode 100644 index 00000000..11323e9e --- /dev/null +++ b/src/zep_cloud/trace_connection/types/create_trace_connection_request_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +CreateTraceConnectionRequestProvider = typing.Union[typing.Literal["braintrust", "langsmith"], typing.Any] diff --git a/src/zep_cloud/types/__init__.py b/src/zep_cloud/types/__init__.py index 61bd7238..9b0c3119 100644 --- a/src/zep_cloud/types/__init__.py +++ b/src/zep_cloud/types/__init__.py @@ -67,32 +67,35 @@ from .agent_split_plan_skill_selection_request import AgentSplitPlanSkillSelectionRequest from .agent_split_plan_source import AgentSplitPlanSource from .agent_status import AgentStatus - from .agent_trajectory import AgentTrajectory - from .agent_trajectory_close_verifier import AgentTrajectoryCloseVerifier - from .agent_trajectory_event import AgentTrajectoryEvent - from .agent_trajectory_event_context import AgentTrajectoryEventContext - from .agent_trajectory_event_page import AgentTrajectoryEventPage - from .agent_trajectory_event_processing_state import AgentTrajectoryEventProcessingState - from .agent_trajectory_event_source import AgentTrajectoryEventSource - from .agent_trajectory_event_source_copy_mode import AgentTrajectoryEventSourceCopyMode - from .agent_trajectory_event_source_retention_mode import AgentTrajectoryEventSourceRetentionMode - from .agent_trajectory_event_type import AgentTrajectoryEventType - from .agent_trajectory_finalization_result import AgentTrajectoryFinalizationResult - from .agent_trajectory_internal import AgentTrajectoryInternal - from .agent_trajectory_lifecycle import AgentTrajectoryLifecycle - from .agent_trajectory_outcome import AgentTrajectoryOutcome - from .agent_trajectory_page import AgentTrajectoryPage - from .agent_trajectory_processing_state import AgentTrajectoryProcessingState - from .agent_trajectory_resource_ref import AgentTrajectoryResourceRef - from .agent_trajectory_sequence_range import AgentTrajectorySequenceRange - from .agent_trajectory_source import AgentTrajectorySource - from .agent_trajectory_source_deletion_result import AgentTrajectorySourceDeletionResult - from .agent_trajectory_summary_creation_reason import AgentTrajectorySummaryCreationReason - from .agent_trajectory_summary_omission_reason import AgentTrajectorySummaryOmissionReason - from .agent_trajectory_summary_omitted_range import AgentTrajectorySummaryOmittedRange - from .agent_trajectory_summary_page import AgentTrajectorySummaryPage - from .agent_trajectory_summary_version import AgentTrajectorySummaryVersion - from .agent_trajectory_verification import AgentTrajectoryVerification + from .agent_task_family_descriptor import AgentTaskFamilyDescriptor + from .agent_task_family_descriptor_page import AgentTaskFamilyDescriptorPage + from .agent_trace import AgentTrace + from .agent_trace_close_verifier import AgentTraceCloseVerifier + from .agent_trace_event import AgentTraceEvent + from .agent_trace_event_context import AgentTraceEventContext + from .agent_trace_event_page import AgentTraceEventPage + from .agent_trace_event_processing_state import AgentTraceEventProcessingState + from .agent_trace_event_source import AgentTraceEventSource + from .agent_trace_event_source_copy_mode import AgentTraceEventSourceCopyMode + from .agent_trace_event_source_retention_mode import AgentTraceEventSourceRetentionMode + from .agent_trace_event_type import AgentTraceEventType + from .agent_trace_finalization_result import AgentTraceFinalizationResult + from .agent_trace_internal import AgentTraceInternal + from .agent_trace_lifecycle import AgentTraceLifecycle + from .agent_trace_outcome import AgentTraceOutcome + from .agent_trace_page import AgentTracePage + from .agent_trace_processing_state import AgentTraceProcessingState + from .agent_trace_resource_ref import AgentTraceResourceRef + from .agent_trace_sequence_range import AgentTraceSequenceRange + from .agent_trace_source import AgentTraceSource + from .agent_trace_source_deletion_result import AgentTraceSourceDeletionResult + from .agent_trace_summary_creation_reason import AgentTraceSummaryCreationReason + from .agent_trace_summary_omission_reason import AgentTraceSummaryOmissionReason + from .agent_trace_summary_omitted_range import AgentTraceSummaryOmittedRange + from .agent_trace_summary_page import AgentTraceSummaryPage + from .agent_trace_summary_version import AgentTraceSummaryVersion + from .agent_trace_task_family_inference import AgentTraceTaskFamilyInference + from .agent_trace_verification import AgentTraceVerification from .agent_verification_strength import AgentVerificationStrength from .agent_verifier import AgentVerifier from .agent_verifier_assertion_outcome import AgentVerifierAssertionOutcome @@ -147,13 +150,14 @@ from .debug_log_level import DebugLogLevel from .debug_log_status import DebugLogStatus from .debug_logging_enablement import DebugLoggingEnablement - from .delete_agent_trajectory_request import DeleteAgentTrajectoryRequest + from .delete_agent_trace_request import DeleteAgentTraceRequest from .document_summary import DocumentSummary from .document_summary_page import DocumentSummaryPage from .edge import Edge from .edge_input import EdgeInput from .edge_node_ref import EdgeNodeRef from .edge_page import EdgePage + from .edge_search_filters import EdgeSearchFilters from .edge_source_target import EdgeSourceTarget from .edge_type import EdgeType from .entity_property import EntityProperty @@ -176,7 +180,7 @@ from .hyperedge_edge import HyperedgeEdge from .hyperedge_input import HyperedgeInput from .hyperedge_page import HyperedgePage - from .imported_trajectory_reference import ImportedTrajectoryReference + from .imported_trace_reference import ImportedTraceReference from .ingestion_trace import IngestionTrace from .ingestion_trace_edge import IngestionTraceEdge from .ingestion_trace_edge_invalidation import IngestionTraceEdgeInvalidation @@ -189,6 +193,7 @@ from .ingestion_trace_node_resolution import IngestionTraceNodeResolution from .ingestion_trace_output import IngestionTraceOutput from .ingestion_trace_page import IngestionTracePage + from .ingestion_trace_protected_attribute_conflict import IngestionTraceProtectedAttributeConflict from .ingestion_trace_status import IngestionTraceStatus from .ingestion_trace_step import IngestionTraceStep from .instructions import Instructions @@ -210,6 +215,7 @@ from .node import Node from .node_input import NodeInput from .node_page import NodePage + from .node_search_filters import NodeSearchFilters from .objective_mapping_rule import ObjectiveMappingRule from .objective_mapping_rule_source import ObjectiveMappingRuleSource from .observation import Observation @@ -232,6 +238,7 @@ from .property_filter_operator import PropertyFilterOperator from .property_filter_value import PropertyFilterValue from .property_filter_value_three_item import PropertyFilterValueThreeItem + from .rename_agent_task_family_response import RenameAgentTaskFamilyResponse from .role_type import RoleType from .search_filters import SearchFilters from .search_list_request import SearchListRequest @@ -262,30 +269,32 @@ from .thread_summary_page import ThreadSummaryPage from .trace_connection import TraceConnection from .trace_connection_page import TraceConnectionPage + from .trace_connection_provider import TraceConnectionProvider from .trace_connection_settings import TraceConnectionSettings + from .trace_content_mapping import TraceContentMapping from .trace_filter import TraceFilter + from .trace_import import TraceImport + from .trace_import_page import TraceImportPage + from .trace_import_pause_reason import TraceImportPauseReason + from .trace_import_provider import TraceImportProvider + from .trace_import_run import TraceImportRun + from .trace_import_run_item import TraceImportRunItem + from .trace_import_run_item_page import TraceImportRunItemPage + from .trace_import_run_page import TraceImportRunPage + from .trace_import_run_reference import TraceImportRunReference + from .trace_import_run_reference_status import TraceImportRunReferenceStatus + from .trace_import_run_reference_trigger import TraceImportRunReferenceTrigger + from .trace_import_schedule import TraceImportSchedule + from .trace_import_selection import TraceImportSelection + from .trace_mapping import TraceMapping + from .trace_mapping_include_outcomes_item import TraceMappingIncludeOutcomesItem + from .trace_mapping_result import TraceMappingResult + from .trace_mapping_result_outcome import TraceMappingResultOutcome + from .trace_mapping_result_outcome_rule import TraceMappingResultOutcomeRule from .trace_preview import TracePreview from .trace_provider_project import TraceProviderProject from .trace_provider_project_page import TraceProviderProjectPage from .trace_score_range import TraceScoreRange - from .trajectory_content_mapping import TrajectoryContentMapping - from .trajectory_import import TrajectoryImport - from .trajectory_import_page import TrajectoryImportPage - from .trajectory_import_pause_reason import TrajectoryImportPauseReason - from .trajectory_import_run import TrajectoryImportRun - from .trajectory_import_run_item import TrajectoryImportRunItem - from .trajectory_import_run_item_page import TrajectoryImportRunItemPage - from .trajectory_import_run_page import TrajectoryImportRunPage - from .trajectory_import_run_reference import TrajectoryImportRunReference - from .trajectory_import_run_reference_status import TrajectoryImportRunReferenceStatus - from .trajectory_import_run_reference_trigger import TrajectoryImportRunReferenceTrigger - from .trajectory_import_schedule import TrajectoryImportSchedule - from .trajectory_import_selection import TrajectoryImportSelection - from .trajectory_mapping import TrajectoryMapping - from .trajectory_mapping_include_outcomes_item import TrajectoryMappingIncludeOutcomesItem - from .trajectory_mapping_result import TrajectoryMappingResult - from .trajectory_mapping_result_outcome import TrajectoryMappingResultOutcome - from .trajectory_mapping_result_outcome_rule import TrajectoryMappingResultOutcomeRule from .user import User from .user_delete_result import UserDeleteResult from .user_group import UserGroup @@ -355,32 +364,35 @@ "AgentSplitPlanSkillSelectionRequest": ".agent_split_plan_skill_selection_request", "AgentSplitPlanSource": ".agent_split_plan_source", "AgentStatus": ".agent_status", - "AgentTrajectory": ".agent_trajectory", - "AgentTrajectoryCloseVerifier": ".agent_trajectory_close_verifier", - "AgentTrajectoryEvent": ".agent_trajectory_event", - "AgentTrajectoryEventContext": ".agent_trajectory_event_context", - "AgentTrajectoryEventPage": ".agent_trajectory_event_page", - "AgentTrajectoryEventProcessingState": ".agent_trajectory_event_processing_state", - "AgentTrajectoryEventSource": ".agent_trajectory_event_source", - "AgentTrajectoryEventSourceCopyMode": ".agent_trajectory_event_source_copy_mode", - "AgentTrajectoryEventSourceRetentionMode": ".agent_trajectory_event_source_retention_mode", - "AgentTrajectoryEventType": ".agent_trajectory_event_type", - "AgentTrajectoryFinalizationResult": ".agent_trajectory_finalization_result", - "AgentTrajectoryInternal": ".agent_trajectory_internal", - "AgentTrajectoryLifecycle": ".agent_trajectory_lifecycle", - "AgentTrajectoryOutcome": ".agent_trajectory_outcome", - "AgentTrajectoryPage": ".agent_trajectory_page", - "AgentTrajectoryProcessingState": ".agent_trajectory_processing_state", - "AgentTrajectoryResourceRef": ".agent_trajectory_resource_ref", - "AgentTrajectorySequenceRange": ".agent_trajectory_sequence_range", - "AgentTrajectorySource": ".agent_trajectory_source", - "AgentTrajectorySourceDeletionResult": ".agent_trajectory_source_deletion_result", - "AgentTrajectorySummaryCreationReason": ".agent_trajectory_summary_creation_reason", - "AgentTrajectorySummaryOmissionReason": ".agent_trajectory_summary_omission_reason", - "AgentTrajectorySummaryOmittedRange": ".agent_trajectory_summary_omitted_range", - "AgentTrajectorySummaryPage": ".agent_trajectory_summary_page", - "AgentTrajectorySummaryVersion": ".agent_trajectory_summary_version", - "AgentTrajectoryVerification": ".agent_trajectory_verification", + "AgentTaskFamilyDescriptor": ".agent_task_family_descriptor", + "AgentTaskFamilyDescriptorPage": ".agent_task_family_descriptor_page", + "AgentTrace": ".agent_trace", + "AgentTraceCloseVerifier": ".agent_trace_close_verifier", + "AgentTraceEvent": ".agent_trace_event", + "AgentTraceEventContext": ".agent_trace_event_context", + "AgentTraceEventPage": ".agent_trace_event_page", + "AgentTraceEventProcessingState": ".agent_trace_event_processing_state", + "AgentTraceEventSource": ".agent_trace_event_source", + "AgentTraceEventSourceCopyMode": ".agent_trace_event_source_copy_mode", + "AgentTraceEventSourceRetentionMode": ".agent_trace_event_source_retention_mode", + "AgentTraceEventType": ".agent_trace_event_type", + "AgentTraceFinalizationResult": ".agent_trace_finalization_result", + "AgentTraceInternal": ".agent_trace_internal", + "AgentTraceLifecycle": ".agent_trace_lifecycle", + "AgentTraceOutcome": ".agent_trace_outcome", + "AgentTracePage": ".agent_trace_page", + "AgentTraceProcessingState": ".agent_trace_processing_state", + "AgentTraceResourceRef": ".agent_trace_resource_ref", + "AgentTraceSequenceRange": ".agent_trace_sequence_range", + "AgentTraceSource": ".agent_trace_source", + "AgentTraceSourceDeletionResult": ".agent_trace_source_deletion_result", + "AgentTraceSummaryCreationReason": ".agent_trace_summary_creation_reason", + "AgentTraceSummaryOmissionReason": ".agent_trace_summary_omission_reason", + "AgentTraceSummaryOmittedRange": ".agent_trace_summary_omitted_range", + "AgentTraceSummaryPage": ".agent_trace_summary_page", + "AgentTraceSummaryVersion": ".agent_trace_summary_version", + "AgentTraceTaskFamilyInference": ".agent_trace_task_family_inference", + "AgentTraceVerification": ".agent_trace_verification", "AgentVerificationStrength": ".agent_verification_strength", "AgentVerifier": ".agent_verifier", "AgentVerifierAssertionOutcome": ".agent_verifier_assertion_outcome", @@ -435,13 +447,14 @@ "DebugLogLevel": ".debug_log_level", "DebugLogStatus": ".debug_log_status", "DebugLoggingEnablement": ".debug_logging_enablement", - "DeleteAgentTrajectoryRequest": ".delete_agent_trajectory_request", + "DeleteAgentTraceRequest": ".delete_agent_trace_request", "DocumentSummary": ".document_summary", "DocumentSummaryPage": ".document_summary_page", "Edge": ".edge", "EdgeInput": ".edge_input", "EdgeNodeRef": ".edge_node_ref", "EdgePage": ".edge_page", + "EdgeSearchFilters": ".edge_search_filters", "EdgeSourceTarget": ".edge_source_target", "EdgeType": ".edge_type", "EntityProperty": ".entity_property", @@ -464,7 +477,7 @@ "HyperedgeEdge": ".hyperedge_edge", "HyperedgeInput": ".hyperedge_input", "HyperedgePage": ".hyperedge_page", - "ImportedTrajectoryReference": ".imported_trajectory_reference", + "ImportedTraceReference": ".imported_trace_reference", "IngestionTrace": ".ingestion_trace", "IngestionTraceEdge": ".ingestion_trace_edge", "IngestionTraceEdgeInvalidation": ".ingestion_trace_edge_invalidation", @@ -477,6 +490,7 @@ "IngestionTraceNodeResolution": ".ingestion_trace_node_resolution", "IngestionTraceOutput": ".ingestion_trace_output", "IngestionTracePage": ".ingestion_trace_page", + "IngestionTraceProtectedAttributeConflict": ".ingestion_trace_protected_attribute_conflict", "IngestionTraceStatus": ".ingestion_trace_status", "IngestionTraceStep": ".ingestion_trace_step", "Instructions": ".instructions", @@ -498,6 +512,7 @@ "Node": ".node", "NodeInput": ".node_input", "NodePage": ".node_page", + "NodeSearchFilters": ".node_search_filters", "ObjectiveMappingRule": ".objective_mapping_rule", "ObjectiveMappingRuleSource": ".objective_mapping_rule_source", "Observation": ".observation", @@ -520,6 +535,7 @@ "PropertyFilterOperator": ".property_filter_operator", "PropertyFilterValue": ".property_filter_value", "PropertyFilterValueThreeItem": ".property_filter_value_three_item", + "RenameAgentTaskFamilyResponse": ".rename_agent_task_family_response", "RoleType": ".role_type", "SearchFilters": ".search_filters", "SearchListRequest": ".search_list_request", @@ -550,30 +566,32 @@ "ThreadSummaryPage": ".thread_summary_page", "TraceConnection": ".trace_connection", "TraceConnectionPage": ".trace_connection_page", + "TraceConnectionProvider": ".trace_connection_provider", "TraceConnectionSettings": ".trace_connection_settings", + "TraceContentMapping": ".trace_content_mapping", "TraceFilter": ".trace_filter", + "TraceImport": ".trace_import", + "TraceImportPage": ".trace_import_page", + "TraceImportPauseReason": ".trace_import_pause_reason", + "TraceImportProvider": ".trace_import_provider", + "TraceImportRun": ".trace_import_run", + "TraceImportRunItem": ".trace_import_run_item", + "TraceImportRunItemPage": ".trace_import_run_item_page", + "TraceImportRunPage": ".trace_import_run_page", + "TraceImportRunReference": ".trace_import_run_reference", + "TraceImportRunReferenceStatus": ".trace_import_run_reference_status", + "TraceImportRunReferenceTrigger": ".trace_import_run_reference_trigger", + "TraceImportSchedule": ".trace_import_schedule", + "TraceImportSelection": ".trace_import_selection", + "TraceMapping": ".trace_mapping", + "TraceMappingIncludeOutcomesItem": ".trace_mapping_include_outcomes_item", + "TraceMappingResult": ".trace_mapping_result", + "TraceMappingResultOutcome": ".trace_mapping_result_outcome", + "TraceMappingResultOutcomeRule": ".trace_mapping_result_outcome_rule", "TracePreview": ".trace_preview", "TraceProviderProject": ".trace_provider_project", "TraceProviderProjectPage": ".trace_provider_project_page", "TraceScoreRange": ".trace_score_range", - "TrajectoryContentMapping": ".trajectory_content_mapping", - "TrajectoryImport": ".trajectory_import", - "TrajectoryImportPage": ".trajectory_import_page", - "TrajectoryImportPauseReason": ".trajectory_import_pause_reason", - "TrajectoryImportRun": ".trajectory_import_run", - "TrajectoryImportRunItem": ".trajectory_import_run_item", - "TrajectoryImportRunItemPage": ".trajectory_import_run_item_page", - "TrajectoryImportRunPage": ".trajectory_import_run_page", - "TrajectoryImportRunReference": ".trajectory_import_run_reference", - "TrajectoryImportRunReferenceStatus": ".trajectory_import_run_reference_status", - "TrajectoryImportRunReferenceTrigger": ".trajectory_import_run_reference_trigger", - "TrajectoryImportSchedule": ".trajectory_import_schedule", - "TrajectoryImportSelection": ".trajectory_import_selection", - "TrajectoryMapping": ".trajectory_mapping", - "TrajectoryMappingIncludeOutcomesItem": ".trajectory_mapping_include_outcomes_item", - "TrajectoryMappingResult": ".trajectory_mapping_result", - "TrajectoryMappingResultOutcome": ".trajectory_mapping_result_outcome", - "TrajectoryMappingResultOutcomeRule": ".trajectory_mapping_result_outcome_rule", "User": ".user", "UserDeleteResult": ".user_delete_result", "UserGroup": ".user_group", @@ -667,32 +685,35 @@ def __dir__(): "AgentSplitPlanSkillSelectionRequest", "AgentSplitPlanSource", "AgentStatus", - "AgentTrajectory", - "AgentTrajectoryCloseVerifier", - "AgentTrajectoryEvent", - "AgentTrajectoryEventContext", - "AgentTrajectoryEventPage", - "AgentTrajectoryEventProcessingState", - "AgentTrajectoryEventSource", - "AgentTrajectoryEventSourceCopyMode", - "AgentTrajectoryEventSourceRetentionMode", - "AgentTrajectoryEventType", - "AgentTrajectoryFinalizationResult", - "AgentTrajectoryInternal", - "AgentTrajectoryLifecycle", - "AgentTrajectoryOutcome", - "AgentTrajectoryPage", - "AgentTrajectoryProcessingState", - "AgentTrajectoryResourceRef", - "AgentTrajectorySequenceRange", - "AgentTrajectorySource", - "AgentTrajectorySourceDeletionResult", - "AgentTrajectorySummaryCreationReason", - "AgentTrajectorySummaryOmissionReason", - "AgentTrajectorySummaryOmittedRange", - "AgentTrajectorySummaryPage", - "AgentTrajectorySummaryVersion", - "AgentTrajectoryVerification", + "AgentTaskFamilyDescriptor", + "AgentTaskFamilyDescriptorPage", + "AgentTrace", + "AgentTraceCloseVerifier", + "AgentTraceEvent", + "AgentTraceEventContext", + "AgentTraceEventPage", + "AgentTraceEventProcessingState", + "AgentTraceEventSource", + "AgentTraceEventSourceCopyMode", + "AgentTraceEventSourceRetentionMode", + "AgentTraceEventType", + "AgentTraceFinalizationResult", + "AgentTraceInternal", + "AgentTraceLifecycle", + "AgentTraceOutcome", + "AgentTracePage", + "AgentTraceProcessingState", + "AgentTraceResourceRef", + "AgentTraceSequenceRange", + "AgentTraceSource", + "AgentTraceSourceDeletionResult", + "AgentTraceSummaryCreationReason", + "AgentTraceSummaryOmissionReason", + "AgentTraceSummaryOmittedRange", + "AgentTraceSummaryPage", + "AgentTraceSummaryVersion", + "AgentTraceTaskFamilyInference", + "AgentTraceVerification", "AgentVerificationStrength", "AgentVerifier", "AgentVerifierAssertionOutcome", @@ -747,13 +768,14 @@ def __dir__(): "DebugLogLevel", "DebugLogStatus", "DebugLoggingEnablement", - "DeleteAgentTrajectoryRequest", + "DeleteAgentTraceRequest", "DocumentSummary", "DocumentSummaryPage", "Edge", "EdgeInput", "EdgeNodeRef", "EdgePage", + "EdgeSearchFilters", "EdgeSourceTarget", "EdgeType", "EntityProperty", @@ -776,7 +798,7 @@ def __dir__(): "HyperedgeEdge", "HyperedgeInput", "HyperedgePage", - "ImportedTrajectoryReference", + "ImportedTraceReference", "IngestionTrace", "IngestionTraceEdge", "IngestionTraceEdgeInvalidation", @@ -789,6 +811,7 @@ def __dir__(): "IngestionTraceNodeResolution", "IngestionTraceOutput", "IngestionTracePage", + "IngestionTraceProtectedAttributeConflict", "IngestionTraceStatus", "IngestionTraceStep", "Instructions", @@ -810,6 +833,7 @@ def __dir__(): "Node", "NodeInput", "NodePage", + "NodeSearchFilters", "ObjectiveMappingRule", "ObjectiveMappingRuleSource", "Observation", @@ -832,6 +856,7 @@ def __dir__(): "PropertyFilterOperator", "PropertyFilterValue", "PropertyFilterValueThreeItem", + "RenameAgentTaskFamilyResponse", "RoleType", "SearchFilters", "SearchListRequest", @@ -862,30 +887,32 @@ def __dir__(): "ThreadSummaryPage", "TraceConnection", "TraceConnectionPage", + "TraceConnectionProvider", "TraceConnectionSettings", + "TraceContentMapping", "TraceFilter", + "TraceImport", + "TraceImportPage", + "TraceImportPauseReason", + "TraceImportProvider", + "TraceImportRun", + "TraceImportRunItem", + "TraceImportRunItemPage", + "TraceImportRunPage", + "TraceImportRunReference", + "TraceImportRunReferenceStatus", + "TraceImportRunReferenceTrigger", + "TraceImportSchedule", + "TraceImportSelection", + "TraceMapping", + "TraceMappingIncludeOutcomesItem", + "TraceMappingResult", + "TraceMappingResultOutcome", + "TraceMappingResultOutcomeRule", "TracePreview", "TraceProviderProject", "TraceProviderProjectPage", "TraceScoreRange", - "TrajectoryContentMapping", - "TrajectoryImport", - "TrajectoryImportPage", - "TrajectoryImportPauseReason", - "TrajectoryImportRun", - "TrajectoryImportRunItem", - "TrajectoryImportRunItemPage", - "TrajectoryImportRunPage", - "TrajectoryImportRunReference", - "TrajectoryImportRunReferenceStatus", - "TrajectoryImportRunReferenceTrigger", - "TrajectoryImportSchedule", - "TrajectoryImportSelection", - "TrajectoryMapping", - "TrajectoryMappingIncludeOutcomesItem", - "TrajectoryMappingResult", - "TrajectoryMappingResultOutcome", - "TrajectoryMappingResultOutcomeRule", "User", "UserDeleteResult", "UserGroup", diff --git a/src/zep_cloud/types/add_message.py b/src/zep_cloud/types/add_message.py index 5c823494..168a7404 100644 --- a/src/zep_cloud/types/add_message.py +++ b/src/zep_cloud/types/add_message.py @@ -15,12 +15,6 @@ class AddMessage(UniversalBaseModel): The content of the message. """ - created_at: typing.Optional[str] = pydantic.Field(default=None) - """ - The message's reference time, used for temporal reasoning rather than - ingestion time. Defaults to the ingestion time. - """ - metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) """ Custom metadata to store with the message. Max 10 keys. Values must be strings, numbers, booleans, or arrays of scalars. @@ -32,6 +26,12 @@ class AddMessage(UniversalBaseModel): "sales_agent". """ + reference_time: typing.Optional[str] = pydantic.Field(default=None) + """ + The message's reference time, used for temporal reasoning rather than + ingestion time. Defaults to the ingestion time. + """ + role: typing.Optional[RoleType] = pydantic.Field(default=None) """ The role of the message's sender. diff --git a/src/zep_cloud/types/agent.py b/src/zep_cloud/types/agent.py index 89f99e7d..b9c0a57c 100644 --- a/src/zep_cloud/types/agent.py +++ b/src/zep_cloud/types/agent.py @@ -33,7 +33,7 @@ class Agent(UniversalBaseModel): memory_settings: typing.Optional[AgentMemorySettings] = pydantic.Field(default=None) """ - Agent Memory capture, compilation, and promotion settings. + Agent Skills capture, compilation, and promotion settings. """ metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) diff --git a/src/zep_cloud/types/agent_context.py b/src/zep_cloud/types/agent_context.py index 740f2aa0..b803c27b 100644 --- a/src/zep_cloud/types/agent_context.py +++ b/src/zep_cloud/types/agent_context.py @@ -17,7 +17,7 @@ class AgentContext(UniversalBaseModel): skipped: typing.Optional[typing.List[AgentContextSkippedSkill]] = None snapshot: typing.Optional[typing.List[AgentContextSkillSnapshot]] = None task_family: typing.Optional[str] = None - trajectory_uuid: typing.Optional[str] = None + trace_uuid: typing.Optional[str] = None truncated: typing.Optional[bool] = None if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/agent_learning_state.py b/src/zep_cloud/types/agent_learning_state.py index 06b784c4..fbd20b48 100644 --- a/src/zep_cloud/types/agent_learning_state.py +++ b/src/zep_cloud/types/agent_learning_state.py @@ -19,7 +19,7 @@ class AgentLearningState(UniversalBaseModel): waits to start or runs. Skills from that run are not yet available. """ - eligible_trajectory_count: typing.Optional[int] = None + eligible_trace_count: typing.Optional[int] = None minimum_attempt_families: typing.Optional[int] = None next_step: typing.Optional[str] = None required_evaluations: typing.Optional[typing.List[str]] = None diff --git a/src/zep_cloud/types/agent_skill_candidate_evidence.py b/src/zep_cloud/types/agent_skill_candidate_evidence.py index 40df094d..75e90d34 100644 --- a/src/zep_cloud/types/agent_skill_candidate_evidence.py +++ b/src/zep_cloud/types/agent_skill_candidate_evidence.py @@ -9,14 +9,14 @@ class AgentSkillCandidateEvidence(UniversalBaseModel): imported_provider: typing.Optional[str] = pydantic.Field(default=None) """ - ImportedProvider is the provider of the source import, when this Trajectory was imported. + ImportedProvider is the provider of the source import, when this Trace was imported. """ occurred_at: typing.Optional[str] = None outcome: typing.Optional[str] = None polarity: typing.Optional[str] = None source_kind: typing.Optional[str] = None - trajectory_uuid: typing.Optional[str] = None + trace_uuid: typing.Optional[str] = None verification: typing.Optional[str] = None if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/agent_skill_compilation_outcome.py b/src/zep_cloud/types/agent_skill_compilation_outcome.py index 0cd13383..afe1d82a 100644 --- a/src/zep_cloud/types/agent_skill_compilation_outcome.py +++ b/src/zep_cloud/types/agent_skill_compilation_outcome.py @@ -28,7 +28,7 @@ class AgentSkillCompilationOutcome(UniversalBaseModel): rejection_class: typing.Optional[AgentSkillCompilationOutcomeRejectionClass] = None stage: typing.Optional[str] = None task_family: typing.Optional[str] = None - trajectory_count: typing.Optional[int] = None + trace_count: typing.Optional[int] = None uuid_: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="uuid"), pydantic.Field(alias="uuid") ] = None diff --git a/src/zep_cloud/types/agent_skill_compilation_outcome_rejection_class.py b/src/zep_cloud/types/agent_skill_compilation_outcome_rejection_class.py index 08c50166..a1b94064 100644 --- a/src/zep_cloud/types/agent_skill_compilation_outcome_rejection_class.py +++ b/src/zep_cloud/types/agent_skill_compilation_outcome_rejection_class.py @@ -4,7 +4,7 @@ AgentSkillCompilationOutcomeRejectionClass = typing.Union[ typing.Literal[ - "no_eligible_trajectories", + "no_eligible_traces", "reflector_invalid_output", "applicability_ungrounded", "corroboration_insufficient", diff --git a/src/zep_cloud/types/agent_skill_evaluation.py b/src/zep_cloud/types/agent_skill_evaluation.py index 0972a3ad..800a361b 100644 --- a/src/zep_cloud/types/agent_skill_evaluation.py +++ b/src/zep_cloud/types/agent_skill_evaluation.py @@ -18,7 +18,7 @@ class AgentSkillEvaluation(UniversalBaseModel): metrics: typing.Optional[typing.Dict[str, float]] = None skill_uuid: typing.Optional[str] = None skill_version: typing.Optional[int] = None - trajectory_uuid: typing.Optional[str] = None + trace_uuid: typing.Optional[str] = None use_uuid: typing.Optional[str] = None uuid_: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="uuid"), pydantic.Field(alias="uuid") diff --git a/src/zep_cloud/types/agent_skill_evidence.py b/src/zep_cloud/types/agent_skill_evidence.py index a1a20631..104abe51 100644 --- a/src/zep_cloud/types/agent_skill_evidence.py +++ b/src/zep_cloud/types/agent_skill_evidence.py @@ -13,8 +13,8 @@ class AgentSkillEvidence(UniversalBaseModel): polarity: typing.Optional[str] = None source_kind: typing.Optional[str] = None summary_version_uuid: typing.Optional[str] = None - trajectory_event_uuid: typing.Optional[str] = None - trajectory_uuid: typing.Optional[str] = None + trace_event_uuid: typing.Optional[str] = None + trace_uuid: typing.Optional[str] = None verification: typing.Optional[str] = None if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/agent_skill_relationship.py b/src/zep_cloud/types/agent_skill_relationship.py index c2797bad..1039f792 100644 --- a/src/zep_cloud/types/agent_skill_relationship.py +++ b/src/zep_cloud/types/agent_skill_relationship.py @@ -18,10 +18,10 @@ class AgentSkillRelationship(UniversalBaseModel): related_version_constraint: typing.Optional[str] = None resource_name: typing.Optional[str] = None resource_version_constraint: typing.Optional[str] = None - trajectory_outcome: typing.Optional[str] = None - trajectory_task_family: typing.Optional[str] = None - trajectory_uuid: typing.Optional[str] = None - trajectory_verification: typing.Optional[str] = None + trace_outcome: typing.Optional[str] = None + trace_task_family: typing.Optional[str] = None + trace_uuid: typing.Optional[str] = None + trace_verification: typing.Optional[str] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/zep_cloud/types/agent_skill_use.py b/src/zep_cloud/types/agent_skill_use.py index 66cdb92c..57019f38 100644 --- a/src/zep_cloud/types/agent_skill_use.py +++ b/src/zep_cloud/types/agent_skill_use.py @@ -16,7 +16,7 @@ class AgentSkillUse(UniversalBaseModel): reason_code: typing.Optional[str] = None skill_uuid: typing.Optional[str] = None skill_version: typing.Optional[int] = None - trajectory_uuid: typing.Optional[str] = None + trace_uuid: typing.Optional[str] = None usage: typing.Optional[str] = None uuid_: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="uuid"), pydantic.Field(alias="uuid") diff --git a/src/zep_cloud/types/agent_skill_use_outcome.py b/src/zep_cloud/types/agent_skill_use_outcome.py index 8141867c..a053dc73 100644 --- a/src/zep_cloud/types/agent_skill_use_outcome.py +++ b/src/zep_cloud/types/agent_skill_use_outcome.py @@ -12,7 +12,7 @@ class AgentSkillUseOutcome(UniversalBaseModel): assertion_uuid: typing.Optional[str] = None created_at: typing.Optional[str] = None outcome: typing.Optional[str] = None - trajectory_uuid: typing.Optional[str] = None + trace_uuid: typing.Optional[str] = None use_uuid: typing.Optional[str] = None uuid_: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="uuid"), pydantic.Field(alias="uuid") diff --git a/src/zep_cloud/types/agent_task_family_descriptor.py b/src/zep_cloud/types/agent_task_family_descriptor.py new file mode 100644 index 00000000..5cbc00df --- /dev/null +++ b/src/zep_cloud/types/agent_task_family_descriptor.py @@ -0,0 +1,73 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +import typing_extensions +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from ..core.serialization import FieldMetadata + + +class AgentTaskFamilyDescriptor(UniversalBaseModel): + agent_uuid: typing.Optional[str] = pydantic.Field(default=None) + """ + The owning Agent UUID. + """ + + created_at: typing.Optional[str] = pydantic.Field(default=None) + """ + The time the descriptor was created. + """ + + description: typing.Optional[str] = pydantic.Field(default=None) + """ + What the family covers. + """ + + descriptor_version: typing.Optional[int] = pydantic.Field(default=None) + """ + The descriptor version the classifier ran against. + """ + + distinguishing_tools: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + The tools that distinguish this family from the others. + """ + + not_for: typing.Optional[str] = pydantic.Field(default=None) + """ + The most similar goal that does not belong to the family. + """ + + slug: typing.Optional[str] = pydantic.Field(default=None) + """ + The task-family slug members receive. + """ + + updated_at: typing.Optional[str] = pydantic.Field(default=None) + """ + The time the descriptor was last updated. + """ + + use_when: typing.Optional[str] = pydantic.Field(default=None) + """ + When a Trace belongs to the family. + """ + + uuid_: typing_extensions.Annotated[ + typing.Optional[str], + FieldMetadata(alias="uuid"), + pydantic.Field(alias="uuid", description="The stable descriptor UUID."), + ] = None + """ + The stable descriptor UUID. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/zep_cloud/types/agent_task_family_descriptor_page.py b/src/zep_cloud/types/agent_task_family_descriptor_page.py new file mode 100644 index 00000000..def0d1a7 --- /dev/null +++ b/src/zep_cloud/types/agent_task_family_descriptor_page.py @@ -0,0 +1,33 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .agent_task_family_descriptor import AgentTaskFamilyDescriptor + + +class AgentTaskFamilyDescriptorPage(UniversalBaseModel): + items: typing.Optional[typing.List[AgentTaskFamilyDescriptor]] = pydantic.Field(default=None) + """ + The discovered task families on this page. + """ + + next_cursor: typing.Optional[str] = pydantic.Field(default=None) + """ + Opaque cursor for retrieving the next page, present only when more results are available. + """ + + total_size: typing.Optional[int] = pydantic.Field(default=None) + """ + The total number of discovered task families within the owning Agent. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/zep_cloud/types/agent_trajectory.py b/src/zep_cloud/types/agent_trace.py similarity index 60% rename from src/zep_cloud/types/agent_trajectory.py rename to src/zep_cloud/types/agent_trace.py index b276e8dc..58dbcd67 100644 --- a/src/zep_cloud/types/agent_trajectory.py +++ b/src/zep_cloud/types/agent_trace.py @@ -6,17 +6,18 @@ import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata -from .agent_trajectory_internal import AgentTrajectoryInternal -from .agent_trajectory_lifecycle import AgentTrajectoryLifecycle -from .agent_trajectory_outcome import AgentTrajectoryOutcome -from .agent_trajectory_source import AgentTrajectorySource -from .agent_trajectory_verification import AgentTrajectoryVerification +from .agent_trace_internal import AgentTraceInternal +from .agent_trace_lifecycle import AgentTraceLifecycle +from .agent_trace_outcome import AgentTraceOutcome +from .agent_trace_source import AgentTraceSource +from .agent_trace_task_family_inference import AgentTraceTaskFamilyInference +from .agent_trace_verification import AgentTraceVerification -class AgentTrajectory(UniversalBaseModel): +class AgentTrace(UniversalBaseModel): abandoned_at: typing.Optional[str] = pydantic.Field(default=None) """ - The time the Trajectory was abandoned. + The time the Trace was abandoned. """ agent_uuid: typing.Optional[str] = pydantic.Field(default=None) @@ -31,15 +32,15 @@ class AgentTrajectory(UniversalBaseModel): closed_at: typing.Optional[str] = pydantic.Field(default=None) """ - The time the Trajectory closed. + The time the Trace closed. """ created_at: typing.Optional[str] = pydantic.Field(default=None) """ - The time the Trajectory was created. + The time the Trace was created. """ - internal: typing.Optional[AgentTrajectoryInternal] = pydantic.Field(default=None) + internal: typing.Optional[AgentTraceInternal] = pydantic.Field(default=None) """ Server-owned fields that are not part of the top-level capture contract. """ @@ -51,7 +52,7 @@ class AgentTrajectory(UniversalBaseModel): learn_from_reason: typing.Optional[str] = pydantic.Field(default=None) """ - Why the Trajectory is not eligible for learning. + Why the Trace is not eligible for learning. """ metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) @@ -64,14 +65,14 @@ class AgentTrajectory(UniversalBaseModel): The task-instance objective captured for this attempt. """ - outcome: typing.Optional[AgentTrajectoryOutcome] = pydantic.Field(default=None) + outcome: typing.Optional[AgentTraceOutcome] = pydantic.Field(default=None) """ The caller-owned task outcome. """ - parent_trajectory_uuid: typing.Optional[str] = pydantic.Field(default=None) + parent_trace_uuid: typing.Optional[str] = pydantic.Field(default=None) """ - The parent attempt when this Trajectory is a retry. + The parent attempt when this Trace is a retry. """ revision: typing.Optional[int] = pydantic.Field(default=None) @@ -79,12 +80,12 @@ class AgentTrajectory(UniversalBaseModel): The revision required by the next update or lifecycle command. """ - source: typing.Optional[AgentTrajectorySource] = pydantic.Field(default=None) + source: typing.Optional[AgentTraceSource] = pydantic.Field(default=None) """ - The source record for an imported Trajectory. + The source record for an imported Trace. """ - status: typing.Optional[AgentTrajectoryLifecycle] = pydantic.Field(default=None) + status: typing.Optional[AgentTraceLifecycle] = pydantic.Field(default=None) """ The current lifecycle state. """ @@ -94,26 +95,38 @@ class AgentTrajectory(UniversalBaseModel): The optional opaque task-family classification slug. """ - trajectory_id: typing.Optional[str] = pydantic.Field(default=None) + task_family_inference: typing.Optional[AgentTraceTaskFamilyInference] = pydantic.Field(default=None) + """ + The latest task-family inference outcome. Absent when inference never + ran for this Trace. + """ + + task_family_source: typing.Optional[str] = pydantic.Field(default=None) + """ + Who supplied task_family: the caller (declared), an import rule + (import_rule), or the service classifier (inferred). + """ + + trace_id: typing.Optional[str] = pydantic.Field(default=None) """ The optional customer-assigned identifier, unique within the Agent. """ updated_at: typing.Optional[str] = pydantic.Field(default=None) """ - The time the Trajectory was last updated. + The time the Trace was last updated. """ uuid_: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="uuid"), - pydantic.Field(alias="uuid", description="The stable Trajectory UUID."), + pydantic.Field(alias="uuid", description="The stable Trace UUID."), ] = None """ - The stable Trajectory UUID. + The stable Trace UUID. """ - verification: typing.Optional[AgentTrajectoryVerification] = pydantic.Field(default=None) + verification: typing.Optional[AgentTraceVerification] = pydantic.Field(default=None) """ The strength of the accepted outcome verification. """ diff --git a/src/zep_cloud/types/agent_trajectory_close_verifier.py b/src/zep_cloud/types/agent_trace_close_verifier.py similarity index 94% rename from src/zep_cloud/types/agent_trajectory_close_verifier.py rename to src/zep_cloud/types/agent_trace_close_verifier.py index 47e02f88..2f773ac7 100644 --- a/src/zep_cloud/types/agent_trajectory_close_verifier.py +++ b/src/zep_cloud/types/agent_trace_close_verifier.py @@ -9,7 +9,7 @@ from .agent_verifier_assertion_outcome import AgentVerifierAssertionOutcome -class AgentTrajectoryCloseVerifier(UniversalBaseModel): +class AgentTraceCloseVerifier(UniversalBaseModel): assertion_id: typing.Optional[str] = None class_: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="class"), pydantic.Field(alias="class") diff --git a/src/zep_cloud/types/agent_trajectory_event.py b/src/zep_cloud/types/agent_trace_event.py similarity index 62% rename from src/zep_cloud/types/agent_trajectory_event.py rename to src/zep_cloud/types/agent_trace_event.py index ea5c2146..3a8aaca0 100644 --- a/src/zep_cloud/types/agent_trajectory_event.py +++ b/src/zep_cloud/types/agent_trace_event.py @@ -6,27 +6,27 @@ import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata -from .agent_trajectory_event_context import AgentTrajectoryEventContext -from .agent_trajectory_event_processing_state import AgentTrajectoryEventProcessingState -from .agent_trajectory_event_source import AgentTrajectoryEventSource -from .agent_trajectory_event_type import AgentTrajectoryEventType +from .agent_trace_event_context import AgentTraceEventContext +from .agent_trace_event_processing_state import AgentTraceEventProcessingState +from .agent_trace_event_source import AgentTraceEventSource +from .agent_trace_event_type import AgentTraceEventType -class AgentTrajectoryEvent(UniversalBaseModel): +class AgentTraceEvent(UniversalBaseModel): agent_uuid: typing.Optional[str] = None content: typing.Optional[str] = None - context: typing.Optional[AgentTrajectoryEventContext] = None + context: typing.Optional[AgentTraceEventContext] = None created_at: typing.Optional[str] = None event_id: typing.Optional[str] = None - event_type: typing.Optional[AgentTrajectoryEventType] = None + event_type: typing.Optional[AgentTraceEventType] = None failed_at: typing.Optional[str] = None metadata: typing.Optional[typing.Dict[str, typing.Any]] = None occurred_at: typing.Optional[str] = None processed_at: typing.Optional[str] = None - processing_state: typing.Optional[AgentTrajectoryEventProcessingState] = None + processing_state: typing.Optional[AgentTraceEventProcessingState] = None sequence: typing.Optional[int] = None - sources: typing.Optional[typing.List[AgentTrajectoryEventSource]] = None - trajectory_uuid: typing.Optional[str] = None + sources: typing.Optional[typing.List[AgentTraceEventSource]] = None + trace_uuid: typing.Optional[str] = None updated_at: typing.Optional[str] = None uuid_: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="uuid"), pydantic.Field(alias="uuid") diff --git a/src/zep_cloud/types/agent_trajectory_event_context.py b/src/zep_cloud/types/agent_trace_event_context.py similarity index 54% rename from src/zep_cloud/types/agent_trajectory_event_context.py rename to src/zep_cloud/types/agent_trace_event_context.py index 514b4aa0..77d618ff 100644 --- a/src/zep_cloud/types/agent_trajectory_event_context.py +++ b/src/zep_cloud/types/agent_trace_event_context.py @@ -4,14 +4,14 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .agent_trajectory_resource_ref import AgentTrajectoryResourceRef +from .agent_trace_resource_ref import AgentTraceResourceRef -class AgentTrajectoryEventContext(UniversalBaseModel): - artifacts: typing.Optional[typing.List[AgentTrajectoryResourceRef]] = None - environments: typing.Optional[typing.List[AgentTrajectoryResourceRef]] = None - model: typing.Optional[AgentTrajectoryResourceRef] = None - tools: typing.Optional[typing.List[AgentTrajectoryResourceRef]] = None +class AgentTraceEventContext(UniversalBaseModel): + artifacts: typing.Optional[typing.List[AgentTraceResourceRef]] = None + environments: typing.Optional[typing.List[AgentTraceResourceRef]] = None + model: typing.Optional[AgentTraceResourceRef] = None + tools: typing.Optional[typing.List[AgentTraceResourceRef]] = None verification: typing.Optional[str] = None if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/agent_trajectory_event_page.py b/src/zep_cloud/types/agent_trace_event_page.py similarity index 75% rename from src/zep_cloud/types/agent_trajectory_event_page.py rename to src/zep_cloud/types/agent_trace_event_page.py index 8fd37686..c82bb39b 100644 --- a/src/zep_cloud/types/agent_trajectory_event_page.py +++ b/src/zep_cloud/types/agent_trace_event_page.py @@ -4,11 +4,11 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .agent_trajectory_event import AgentTrajectoryEvent +from .agent_trace_event import AgentTraceEvent -class AgentTrajectoryEventPage(UniversalBaseModel): - items: typing.Optional[typing.List[AgentTrajectoryEvent]] = None +class AgentTraceEventPage(UniversalBaseModel): + items: typing.Optional[typing.List[AgentTraceEvent]] = None next_cursor: typing.Optional[str] = None total_size: typing.Optional[int] = None diff --git a/src/zep_cloud/types/agent_trajectory_event_processing_state.py b/src/zep_cloud/types/agent_trace_event_processing_state.py similarity index 75% rename from src/zep_cloud/types/agent_trajectory_event_processing_state.py rename to src/zep_cloud/types/agent_trace_event_processing_state.py index cf0fe0d0..ef7cc16e 100644 --- a/src/zep_cloud/types/agent_trajectory_event_processing_state.py +++ b/src/zep_cloud/types/agent_trace_event_processing_state.py @@ -2,6 +2,6 @@ import typing -AgentTrajectoryEventProcessingState = typing.Union[ +AgentTraceEventProcessingState = typing.Union[ typing.Literal["pending", "processing", "processed", "failed"], typing.Any ] diff --git a/src/zep_cloud/types/agent_trajectory_event_source.py b/src/zep_cloud/types/agent_trace_event_source.py similarity index 62% rename from src/zep_cloud/types/agent_trajectory_event_source.py rename to src/zep_cloud/types/agent_trace_event_source.py index 8b304c96..d27e8ec2 100644 --- a/src/zep_cloud/types/agent_trajectory_event_source.py +++ b/src/zep_cloud/types/agent_trace_event_source.py @@ -6,14 +6,14 @@ import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata -from .agent_trajectory_event_source_copy_mode import AgentTrajectoryEventSourceCopyMode -from .agent_trajectory_event_source_retention_mode import AgentTrajectoryEventSourceRetentionMode +from .agent_trace_event_source_copy_mode import AgentTraceEventSourceCopyMode +from .agent_trace_event_source_retention_mode import AgentTraceEventSourceRetentionMode -class AgentTrajectoryEventSource(UniversalBaseModel): - copy_mode: typing.Optional[AgentTrajectoryEventSourceCopyMode] = None +class AgentTraceEventSource(UniversalBaseModel): + copy_mode: typing.Optional[AgentTraceEventSourceCopyMode] = None kind: str - retention_mode: typing.Optional[AgentTrajectoryEventSourceRetentionMode] = None + retention_mode: typing.Optional[AgentTraceEventSourceRetentionMode] = None uuid_: typing_extensions.Annotated[str, FieldMetadata(alias="uuid"), pydantic.Field(alias="uuid")] if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/agent_trace_event_source_copy_mode.py b/src/zep_cloud/types/agent_trace_event_source_copy_mode.py new file mode 100644 index 00000000..c459a3b3 --- /dev/null +++ b/src/zep_cloud/types/agent_trace_event_source_copy_mode.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AgentTraceEventSourceCopyMode = typing.Union[typing.Literal["reference", "copied"], typing.Any] diff --git a/src/zep_cloud/types/agent_trace_event_source_retention_mode.py b/src/zep_cloud/types/agent_trace_event_source_retention_mode.py new file mode 100644 index 00000000..d670eb87 --- /dev/null +++ b/src/zep_cloud/types/agent_trace_event_source_retention_mode.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AgentTraceEventSourceRetentionMode = typing.Union[typing.Literal["delete_with_source", "keep"], typing.Any] diff --git a/src/zep_cloud/types/agent_trajectory_event_type.py b/src/zep_cloud/types/agent_trace_event_type.py similarity index 90% rename from src/zep_cloud/types/agent_trajectory_event_type.py rename to src/zep_cloud/types/agent_trace_event_type.py index 78e42f2e..14d30d92 100644 --- a/src/zep_cloud/types/agent_trajectory_event_type.py +++ b/src/zep_cloud/types/agent_trace_event_type.py @@ -2,7 +2,7 @@ import typing -AgentTrajectoryEventType = typing.Union[ +AgentTraceEventType = typing.Union[ typing.Literal[ "input_reference", "observation", diff --git a/src/zep_cloud/types/agent_trajectory_finalization_result.py b/src/zep_cloud/types/agent_trace_finalization_result.py similarity index 76% rename from src/zep_cloud/types/agent_trajectory_finalization_result.py rename to src/zep_cloud/types/agent_trace_finalization_result.py index fbdcd8ab..a7dab1d3 100644 --- a/src/zep_cloud/types/agent_trajectory_finalization_result.py +++ b/src/zep_cloud/types/agent_trace_finalization_result.py @@ -4,13 +4,13 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .agent_trajectory import AgentTrajectory +from .agent_trace import AgentTrace from .task import Task -class AgentTrajectoryFinalizationResult(UniversalBaseModel): +class AgentTraceFinalizationResult(UniversalBaseModel): task: typing.Optional[Task] = None - trajectory: typing.Optional[AgentTrajectory] = None + trace: typing.Optional[AgentTrace] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/zep_cloud/types/agent_trajectory_internal.py b/src/zep_cloud/types/agent_trace_internal.py similarity index 77% rename from src/zep_cloud/types/agent_trajectory_internal.py rename to src/zep_cloud/types/agent_trace_internal.py index 9534cc8e..1f6f437d 100644 --- a/src/zep_cloud/types/agent_trajectory_internal.py +++ b/src/zep_cloud/types/agent_trace_internal.py @@ -4,16 +4,16 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .agent_trajectory_processing_state import AgentTrajectoryProcessingState +from .agent_trace_processing_state import AgentTraceProcessingState -class AgentTrajectoryInternal(UniversalBaseModel): +class AgentTraceInternal(UniversalBaseModel): assertion_uuid: typing.Optional[str] = None closing_sequence: typing.Optional[int] = None current_summary_version: typing.Optional[int] = None last_task_uuid: typing.Optional[str] = None next_sequence: typing.Optional[int] = None - processing_state: typing.Optional[AgentTrajectoryProcessingState] = None + processing_state: typing.Optional[AgentTraceProcessingState] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/zep_cloud/types/agent_trace_lifecycle.py b/src/zep_cloud/types/agent_trace_lifecycle.py new file mode 100644 index 00000000..f77e7f38 --- /dev/null +++ b/src/zep_cloud/types/agent_trace_lifecycle.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AgentTraceLifecycle = typing.Union[typing.Literal["open", "closing", "closed", "abandoned", "deleted"], typing.Any] diff --git a/src/zep_cloud/types/agent_trace_outcome.py b/src/zep_cloud/types/agent_trace_outcome.py new file mode 100644 index 00000000..b07b9a87 --- /dev/null +++ b/src/zep_cloud/types/agent_trace_outcome.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AgentTraceOutcome = typing.Union[typing.Literal["succeeded", "failed", "partial", "abandoned", "unknown"], typing.Any] diff --git a/src/zep_cloud/types/agent_trajectory_page.py b/src/zep_cloud/types/agent_trace_page.py similarity index 71% rename from src/zep_cloud/types/agent_trajectory_page.py rename to src/zep_cloud/types/agent_trace_page.py index 61289f39..660f134b 100644 --- a/src/zep_cloud/types/agent_trajectory_page.py +++ b/src/zep_cloud/types/agent_trace_page.py @@ -4,13 +4,13 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .agent_trajectory import AgentTrajectory +from .agent_trace import AgentTrace -class AgentTrajectoryPage(UniversalBaseModel): - items: typing.Optional[typing.List[AgentTrajectory]] = pydantic.Field(default=None) +class AgentTracePage(UniversalBaseModel): + items: typing.Optional[typing.List[AgentTrace]] = pydantic.Field(default=None) """ - The Trajectories on this page. + The Traces on this page. """ next_cursor: typing.Optional[str] = pydantic.Field(default=None) @@ -20,7 +20,7 @@ class AgentTrajectoryPage(UniversalBaseModel): total_size: typing.Optional[int] = pydantic.Field(default=None) """ - The total number of Trajectories matching the filters within the owning Agent. + The total number of Traces matching the filters within the owning Agent. """ if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/agent_trace_processing_state.py b/src/zep_cloud/types/agent_trace_processing_state.py new file mode 100644 index 00000000..18fbb525 --- /dev/null +++ b/src/zep_cloud/types/agent_trace_processing_state.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AgentTraceProcessingState = typing.Union[typing.Literal["idle", "pending", "processing", "failed"], typing.Any] diff --git a/src/zep_cloud/types/agent_trajectory_resource_ref.py b/src/zep_cloud/types/agent_trace_resource_ref.py similarity index 90% rename from src/zep_cloud/types/agent_trajectory_resource_ref.py rename to src/zep_cloud/types/agent_trace_resource_ref.py index 8aa5b7ec..541bdfb7 100644 --- a/src/zep_cloud/types/agent_trajectory_resource_ref.py +++ b/src/zep_cloud/types/agent_trace_resource_ref.py @@ -6,7 +6,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -class AgentTrajectoryResourceRef(UniversalBaseModel): +class AgentTraceResourceRef(UniversalBaseModel): name: str version: typing.Optional[str] = None diff --git a/src/zep_cloud/types/agent_trajectory_sequence_range.py b/src/zep_cloud/types/agent_trace_sequence_range.py similarity index 89% rename from src/zep_cloud/types/agent_trajectory_sequence_range.py rename to src/zep_cloud/types/agent_trace_sequence_range.py index 4cf9aed7..46b9a389 100644 --- a/src/zep_cloud/types/agent_trajectory_sequence_range.py +++ b/src/zep_cloud/types/agent_trace_sequence_range.py @@ -6,7 +6,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -class AgentTrajectorySequenceRange(UniversalBaseModel): +class AgentTraceSequenceRange(UniversalBaseModel): first: int last: int diff --git a/src/zep_cloud/types/agent_trajectory_source.py b/src/zep_cloud/types/agent_trace_source.py similarity index 96% rename from src/zep_cloud/types/agent_trajectory_source.py rename to src/zep_cloud/types/agent_trace_source.py index ab5e32f5..8f1b5a51 100644 --- a/src/zep_cloud/types/agent_trajectory_source.py +++ b/src/zep_cloud/types/agent_trace_source.py @@ -6,7 +6,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -class AgentTrajectorySource(UniversalBaseModel): +class AgentTraceSource(UniversalBaseModel): connection_uuid: typing.Optional[str] = None import_uuid: typing.Optional[str] = None imported_at: typing.Optional[str] = None diff --git a/src/zep_cloud/types/agent_trajectory_source_deletion_result.py b/src/zep_cloud/types/agent_trace_source_deletion_result.py similarity index 80% rename from src/zep_cloud/types/agent_trajectory_source_deletion_result.py rename to src/zep_cloud/types/agent_trace_source_deletion_result.py index b4c76874..1616e022 100644 --- a/src/zep_cloud/types/agent_trajectory_source_deletion_result.py +++ b/src/zep_cloud/types/agent_trace_source_deletion_result.py @@ -4,16 +4,16 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .agent_trajectory import AgentTrajectory +from .agent_trace import AgentTrace from .task import Task -class AgentTrajectorySourceDeletionResult(UniversalBaseModel): +class AgentTraceSourceDeletionResult(UniversalBaseModel): affected_skills: typing.Optional[int] = None deletion_uuid: typing.Optional[str] = None skill_repair_task: typing.Optional[Task] = None summary_repair_task: typing.Optional[Task] = None - trajectory: typing.Optional[AgentTrajectory] = None + trace: typing.Optional[AgentTrace] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/zep_cloud/types/agent_trajectory_summary_creation_reason.py b/src/zep_cloud/types/agent_trace_summary_creation_reason.py similarity index 80% rename from src/zep_cloud/types/agent_trajectory_summary_creation_reason.py rename to src/zep_cloud/types/agent_trace_summary_creation_reason.py index 7f9e8892..8cda759d 100644 --- a/src/zep_cloud/types/agent_trajectory_summary_creation_reason.py +++ b/src/zep_cloud/types/agent_trace_summary_creation_reason.py @@ -2,7 +2,7 @@ import typing -AgentTrajectorySummaryCreationReason = typing.Union[ +AgentTraceSummaryCreationReason = typing.Union[ typing.Literal["close", "abandon", "revision", "task_family_correction", "evidence_deletion", "policy_change"], typing.Any, ] diff --git a/src/zep_cloud/types/agent_trajectory_summary_omission_reason.py b/src/zep_cloud/types/agent_trace_summary_omission_reason.py similarity index 82% rename from src/zep_cloud/types/agent_trajectory_summary_omission_reason.py rename to src/zep_cloud/types/agent_trace_summary_omission_reason.py index 464ae894..9cab0815 100644 --- a/src/zep_cloud/types/agent_trajectory_summary_omission_reason.py +++ b/src/zep_cloud/types/agent_trace_summary_omission_reason.py @@ -2,7 +2,7 @@ import typing -AgentTrajectorySummaryOmissionReason = typing.Union[ +AgentTraceSummaryOmissionReason = typing.Union[ typing.Literal[ "narrower_authorization_boundary", "acknowledged_gap", "abandoned_gap", "processing_failed", "source_deleted" ], diff --git a/src/zep_cloud/types/agent_trajectory_summary_omitted_range.py b/src/zep_cloud/types/agent_trace_summary_omitted_range.py similarity index 71% rename from src/zep_cloud/types/agent_trajectory_summary_omitted_range.py rename to src/zep_cloud/types/agent_trace_summary_omitted_range.py index bf57b588..c8608dd3 100644 --- a/src/zep_cloud/types/agent_trajectory_summary_omitted_range.py +++ b/src/zep_cloud/types/agent_trace_summary_omitted_range.py @@ -4,13 +4,13 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .agent_trajectory_summary_omission_reason import AgentTrajectorySummaryOmissionReason +from .agent_trace_summary_omission_reason import AgentTraceSummaryOmissionReason -class AgentTrajectorySummaryOmittedRange(UniversalBaseModel): +class AgentTraceSummaryOmittedRange(UniversalBaseModel): first_sequence: typing.Optional[int] = None last_sequence: typing.Optional[int] = None - reason: typing.Optional[AgentTrajectorySummaryOmissionReason] = None + reason: typing.Optional[AgentTraceSummaryOmissionReason] = None if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 diff --git a/src/zep_cloud/types/agent_trajectory_summary_page.py b/src/zep_cloud/types/agent_trace_summary_page.py similarity index 72% rename from src/zep_cloud/types/agent_trajectory_summary_page.py rename to src/zep_cloud/types/agent_trace_summary_page.py index 2b6aacc5..612b4115 100644 --- a/src/zep_cloud/types/agent_trajectory_summary_page.py +++ b/src/zep_cloud/types/agent_trace_summary_page.py @@ -4,11 +4,11 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .agent_trajectory_summary_version import AgentTrajectorySummaryVersion +from .agent_trace_summary_version import AgentTraceSummaryVersion -class AgentTrajectorySummaryPage(UniversalBaseModel): - items: typing.Optional[typing.List[AgentTrajectorySummaryVersion]] = None +class AgentTraceSummaryPage(UniversalBaseModel): + items: typing.Optional[typing.List[AgentTraceSummaryVersion]] = None next_cursor: typing.Optional[str] = None total_size: typing.Optional[int] = None diff --git a/src/zep_cloud/types/agent_trajectory_summary_version.py b/src/zep_cloud/types/agent_trace_summary_version.py similarity index 65% rename from src/zep_cloud/types/agent_trajectory_summary_version.py rename to src/zep_cloud/types/agent_trace_summary_version.py index 806d4f12..1b4fd0df 100644 --- a/src/zep_cloud/types/agent_trajectory_summary_version.py +++ b/src/zep_cloud/types/agent_trace_summary_version.py @@ -6,31 +6,31 @@ import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata -from .agent_trajectory_outcome import AgentTrajectoryOutcome -from .agent_trajectory_summary_creation_reason import AgentTrajectorySummaryCreationReason -from .agent_trajectory_summary_omitted_range import AgentTrajectorySummaryOmittedRange -from .agent_trajectory_verification import AgentTrajectoryVerification +from .agent_trace_outcome import AgentTraceOutcome +from .agent_trace_summary_creation_reason import AgentTraceSummaryCreationReason +from .agent_trace_summary_omitted_range import AgentTraceSummaryOmittedRange +from .agent_trace_verification import AgentTraceVerification -class AgentTrajectorySummaryVersion(UniversalBaseModel): +class AgentTraceSummaryVersion(UniversalBaseModel): agent_uuid: typing.Optional[str] = None assertion_uuid: typing.Optional[str] = None created_at: typing.Optional[str] = None - creation_reason: typing.Optional[AgentTrajectorySummaryCreationReason] = None + creation_reason: typing.Optional[AgentTraceSummaryCreationReason] = None first_occurred_at: typing.Optional[str] = None first_sequence: typing.Optional[int] = None last_occurred_at: typing.Optional[str] = None last_sequence: typing.Optional[int] = None - omitted_sequence_ranges: typing.Optional[typing.List[AgentTrajectorySummaryOmittedRange]] = None - outcome: typing.Optional[AgentTrajectoryOutcome] = None + omitted_sequence_ranges: typing.Optional[typing.List[AgentTraceSummaryOmittedRange]] = None + outcome: typing.Optional[AgentTraceOutcome] = None parent_version_uuid: typing.Optional[str] = None structured_summary: typing.Optional[typing.Dict[str, typing.Any]] = None text: typing.Optional[str] = None - trajectory_uuid: typing.Optional[str] = None + trace_uuid: typing.Optional[str] = None uuid_: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="uuid"), pydantic.Field(alias="uuid") ] = None - verification: typing.Optional[AgentTrajectoryVerification] = None + verification: typing.Optional[AgentTraceVerification] = None version: typing.Optional[int] = None if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/agent_trace_task_family_inference.py b/src/zep_cloud/types/agent_trace_task_family_inference.py new file mode 100644 index 00000000..8669933f --- /dev/null +++ b/src/zep_cloud/types/agent_trace_task_family_inference.py @@ -0,0 +1,47 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class AgentTraceTaskFamilyInference(UniversalBaseModel): + assigned_at: typing.Optional[str] = pydantic.Field(default=None) + """ + The time the outcome was recorded. + """ + + classifier_version: typing.Optional[str] = pydantic.Field(default=None) + """ + The classifier version that produced the outcome. + """ + + confidence: typing.Optional[float] = pydantic.Field(default=None) + """ + The classifier confidence of the accepted or top candidate. + """ + + descriptor_version: typing.Optional[int] = pydantic.Field(default=None) + """ + The descriptor set version the classifier ran against. + """ + + learning_reusable: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether the classifier marked the Trace reusable for learning. + """ + + state: typing.Optional[str] = pydantic.Field(default=None) + """ + The inference state: pending, assigned, or unassigned. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/zep_cloud/types/agent_trace_verification.py b/src/zep_cloud/types/agent_trace_verification.py new file mode 100644 index 00000000..657e5f71 --- /dev/null +++ b/src/zep_cloud/types/agent_trace_verification.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +AgentTraceVerification = typing.Union[typing.Literal["none", "agent", "tool", "customer", "external"], typing.Any] diff --git a/src/zep_cloud/types/agent_trajectory_event_source_copy_mode.py b/src/zep_cloud/types/agent_trajectory_event_source_copy_mode.py deleted file mode 100644 index d1286632..00000000 --- a/src/zep_cloud/types/agent_trajectory_event_source_copy_mode.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -AgentTrajectoryEventSourceCopyMode = typing.Union[typing.Literal["reference", "copied"], typing.Any] diff --git a/src/zep_cloud/types/agent_trajectory_event_source_retention_mode.py b/src/zep_cloud/types/agent_trajectory_event_source_retention_mode.py deleted file mode 100644 index 35887874..00000000 --- a/src/zep_cloud/types/agent_trajectory_event_source_retention_mode.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -AgentTrajectoryEventSourceRetentionMode = typing.Union[typing.Literal["delete_with_source", "keep"], typing.Any] diff --git a/src/zep_cloud/types/agent_trajectory_lifecycle.py b/src/zep_cloud/types/agent_trajectory_lifecycle.py deleted file mode 100644 index c8278d5e..00000000 --- a/src/zep_cloud/types/agent_trajectory_lifecycle.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -AgentTrajectoryLifecycle = typing.Union[typing.Literal["open", "closing", "closed", "abandoned", "deleted"], typing.Any] diff --git a/src/zep_cloud/types/agent_trajectory_processing_state.py b/src/zep_cloud/types/agent_trajectory_processing_state.py deleted file mode 100644 index 2169df9d..00000000 --- a/src/zep_cloud/types/agent_trajectory_processing_state.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -AgentTrajectoryProcessingState = typing.Union[typing.Literal["idle", "pending", "processing", "failed"], typing.Any] diff --git a/src/zep_cloud/types/agent_trajectory_verification.py b/src/zep_cloud/types/agent_trajectory_verification.py deleted file mode 100644 index f63a95d6..00000000 --- a/src/zep_cloud/types/agent_trajectory_verification.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -AgentTrajectoryVerification = typing.Union[typing.Literal["none", "agent", "tool", "customer", "external"], typing.Any] diff --git a/src/zep_cloud/types/batch_item_input.py b/src/zep_cloud/types/batch_item_input.py index e9c37ac4..f74165d5 100644 --- a/src/zep_cloud/types/batch_item_input.py +++ b/src/zep_cloud/types/batch_item_input.py @@ -15,12 +15,6 @@ class BatchItemInput(UniversalBaseModel): The message content, for a thread_message item. """ - created_at: typing.Optional[str] = pydantic.Field(default=None) - """ - The item's reference time, used for temporal reasoning rather than - ingestion time. Applies to both graph_episode and thread_message items. - """ - data: typing.Optional[str] = pydantic.Field(default=None) """ The episode content, for a graph_episode item. @@ -51,6 +45,13 @@ class BatchItemInput(UniversalBaseModel): A customizable name for the sender of the message. """ + reference_time: typing.Optional[str] = pydantic.Field(default=None) + """ + The item's reference time, used for temporal reasoning rather than + ingestion time. Applies to both graph_episode and thread_message items. + Defaults to the ingestion time. + """ + role: typing.Optional[BatchItemInputRole] = pydantic.Field(default=None) """ The role of the message's sender, for a thread_message item. diff --git a/src/zep_cloud/types/context_episode.py b/src/zep_cloud/types/context_episode.py index aca02c46..4ed40138 100644 --- a/src/zep_cloud/types/context_episode.py +++ b/src/zep_cloud/types/context_episode.py @@ -25,7 +25,7 @@ class ContextEpisode(UniversalBaseModel): created_at: typing.Optional[str] = pydantic.Field(default=None) """ - The time the episode was created. + The time Zep received the episode. """ document_id: typing.Optional[str] = pydantic.Field(default=None) @@ -49,6 +49,13 @@ class ContextEpisode(UniversalBaseModel): Whether the episode has finished graph extraction and indexing. """ + reference_time: typing.Optional[str] = pydantic.Field(default=None) + """ + The episode's reference time, used for temporal reasoning: the time that + the developer supplied on add, or the ingestion time when the developer + supplied no time. + """ + relevance: typing.Optional[float] = pydantic.Field(default=None) """ A cross-encoder-derived relevance score, present only when the @@ -105,12 +112,6 @@ class ContextEpisode(UniversalBaseModel): The unique identifier of the episode. """ - valid_at: typing.Optional[str] = pydantic.Field(default=None) - """ - The time the episode's content became true or was observed, used for - temporal reasoning. - """ - if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/zep_cloud/types/create_agent_request.py b/src/zep_cloud/types/create_agent_request.py index 6a6b3bc9..4d82caec 100644 --- a/src/zep_cloud/types/create_agent_request.py +++ b/src/zep_cloud/types/create_agent_request.py @@ -25,7 +25,7 @@ class CreateAgentRequest(UniversalBaseModel): memory_settings: typing.Optional[AgentMemorySettings] = pydantic.Field(default=None) """ - Agent Memory capture, compilation, and promotion settings. + Agent Skills capture, compilation, and promotion settings. """ metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) diff --git a/src/zep_cloud/types/delete_agent_trajectory_request.py b/src/zep_cloud/types/delete_agent_trace_request.py similarity index 89% rename from src/zep_cloud/types/delete_agent_trajectory_request.py rename to src/zep_cloud/types/delete_agent_trace_request.py index 018ac6e1..de6e99db 100644 --- a/src/zep_cloud/types/delete_agent_trajectory_request.py +++ b/src/zep_cloud/types/delete_agent_trace_request.py @@ -6,7 +6,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -class DeleteAgentTrajectoryRequest(UniversalBaseModel): +class DeleteAgentTraceRequest(UniversalBaseModel): expected_revision: int if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/edge_search_filters.py b/src/zep_cloud/types/edge_search_filters.py new file mode 100644 index 00000000..365eb5fa --- /dev/null +++ b/src/zep_cloud/types/edge_search_filters.py @@ -0,0 +1,81 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs +from .date_filters import DateFilters +from .property_filter import PropertyFilter + + +class EdgeSearchFilters(UniversalBaseModel): + connected_node_uuids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Include edges connected to any of these node UUIDs. + """ + + content_policy_violated: typing.Optional[bool] = pydantic.Field(default=None) + """ + Match episodes by their content-policy result. Supported only on episode search when the project setting include_policy_violating_episodes is true. + """ + + date_filters: typing.Optional[DateFilters] = pydantic.Field(default=None) + """ + Filter results by temporal values. + """ + + edge_types: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Include results with any of these edge types. + """ + + edge_uuids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Include results with any of these edge UUIDs. + """ + + episode_uuids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Include results derived from any of these episode UUIDs. + """ + + exclude_edge_types: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Exclude results with any of these edge types. + """ + + metadata_filters: typing.Optional["MetadataFilterGroup"] = pydantic.Field(default=None) + """ + Filter results by episode metadata. + """ + + property_filters: typing.Optional[typing.List[PropertyFilter]] = pydantic.Field(default=None) + """ + Filter results by node or edge properties. + """ + + source_node_uuids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Include edges that start at any of these node UUIDs. + """ + + target_node_uuids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Include edges that end at any of these node UUIDs. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +from .metadata_filter_group import MetadataFilterGroup # noqa: E402, I001 + +update_forward_refs(EdgeSearchFilters, MetadataFilterGroup=MetadataFilterGroup) diff --git a/src/zep_cloud/types/entity_property.py b/src/zep_cloud/types/entity_property.py index 92f4f8d4..0d894ff9 100644 --- a/src/zep_cloud/types/entity_property.py +++ b/src/zep_cloud/types/entity_property.py @@ -18,6 +18,13 @@ class EntityProperty(UniversalBaseModel): The name of the property. """ + protected: typing.Optional[bool] = pydantic.Field(default=None) + """ + Whether ingestion keeps the stored value of this property when it merges + new information into an existing node. Supported on entity type + properties only. + """ + type: typing.Optional[EntityPropertyType] = pydantic.Field(default=None) """ The value type of the property: text, int, float, or boolean. diff --git a/src/zep_cloud/types/episode.py b/src/zep_cloud/types/episode.py index 2c28d61c..3fc32063 100644 --- a/src/zep_cloud/types/episode.py +++ b/src/zep_cloud/types/episode.py @@ -25,7 +25,7 @@ class Episode(UniversalBaseModel): created_at: typing.Optional[str] = pydantic.Field(default=None) """ - The time the episode was created. + The time Zep received the episode. """ document_id: typing.Optional[str] = pydantic.Field(default=None) @@ -49,6 +49,13 @@ class Episode(UniversalBaseModel): Whether the episode has finished graph extraction and indexing. """ + reference_time: typing.Optional[str] = pydantic.Field(default=None) + """ + The episode's reference time, used for temporal reasoning: the time that + the developer supplied on add, or the ingestion time when the developer + supplied no time. + """ + relevance: typing.Optional[float] = pydantic.Field(default=None) """ A cross-encoder-derived relevance score, present only when the @@ -99,12 +106,6 @@ class Episode(UniversalBaseModel): The unique identifier of the episode. """ - valid_at: typing.Optional[str] = pydantic.Field(default=None) - """ - The time the episode's content became true or was observed, used for - temporal reasoning. - """ - if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: diff --git a/src/zep_cloud/types/imported_trajectory_reference.py b/src/zep_cloud/types/imported_trace_reference.py similarity index 80% rename from src/zep_cloud/types/imported_trajectory_reference.py rename to src/zep_cloud/types/imported_trace_reference.py index 7b3d5bba..4cadee7f 100644 --- a/src/zep_cloud/types/imported_trajectory_reference.py +++ b/src/zep_cloud/types/imported_trace_reference.py @@ -6,7 +6,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -class ImportedTrajectoryReference(UniversalBaseModel): +class ImportedTraceReference(UniversalBaseModel): agent_uuid: typing.Optional[str] = pydantic.Field(default=None) """ AgentUUID is the visible Agent identifier. @@ -17,9 +17,9 @@ class ImportedTrajectoryReference(UniversalBaseModel): ImportUUID is the active import owner identifier. """ - trajectory_uuid: typing.Optional[str] = pydantic.Field(default=None) + trace_uuid: typing.Optional[str] = pydantic.Field(default=None) """ - TrajectoryUUID is the imported Trajectory identifier. + TraceUUID is the imported Trace identifier. """ if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/ingestion_trace_input.py b/src/zep_cloud/types/ingestion_trace_input.py index 77b37e71..68521e7e 100644 --- a/src/zep_cloud/types/ingestion_trace_input.py +++ b/src/zep_cloud/types/ingestion_trace_input.py @@ -9,6 +9,7 @@ from .ingestion_trace_entity_type import IngestionTraceEntityType from .ingestion_trace_episode import IngestionTraceEpisode from .ingestion_trace_node import IngestionTraceNode +from .ingestion_trace_protected_attribute_conflict import IngestionTraceProtectedAttributeConflict class IngestionTraceInput(UniversalBaseModel): @@ -73,6 +74,15 @@ class IngestionTraceInput(UniversalBaseModel): The previous episodes that the step used as context. """ + protected_attribute_conflicts: typing.Optional[typing.List[IngestionTraceProtectedAttributeConflict]] = ( + pydantic.Field(default=None) + ) + """ + The identity attributes where the extracted value differed from the + stored value. The nodes keep the stored values. Present for resolve_nodes + and empty for the other steps. + """ + resolved_nodes: typing.Optional[typing.List[IngestionTraceNode]] = pydantic.Field(default=None) """ The resolved nodes that the extracted edges connect. Present for resolve_edges and empty for diff --git a/src/zep_cloud/types/ingestion_trace_protected_attribute_conflict.py b/src/zep_cloud/types/ingestion_trace_protected_attribute_conflict.py new file mode 100644 index 00000000..f884f766 --- /dev/null +++ b/src/zep_cloud/types/ingestion_trace_protected_attribute_conflict.py @@ -0,0 +1,37 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel + + +class IngestionTraceProtectedAttributeConflict(UniversalBaseModel): + attribute: typing.Optional[str] = pydantic.Field(default=None) + """ + The name of the identity attribute. + """ + + extracted_value: typing.Optional[typing.Any] = pydantic.Field(default=None) + """ + The value that the step extracted from the episode. + """ + + node_uuid: typing.Optional[str] = pydantic.Field(default=None) + """ + The unique identifier of the node. + """ + + stored_value: typing.Optional[typing.Any] = pydantic.Field(default=None) + """ + The stored value, which the node keeps. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/zep_cloud/types/message.py b/src/zep_cloud/types/message.py index 04f70bfc..2f11f147 100644 --- a/src/zep_cloud/types/message.py +++ b/src/zep_cloud/types/message.py @@ -17,7 +17,7 @@ class Message(UniversalBaseModel): created_at: typing.Optional[str] = pydantic.Field(default=None) """ - The time the message was created. + The time Zep received the message. """ metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) @@ -36,6 +36,12 @@ class Message(UniversalBaseModel): Whether the message has finished being ingested into the user's graph. """ + reference_time: typing.Optional[str] = pydantic.Field(default=None) + """ + The message's reference time: the time that the developer supplied on + add, or the ingestion time when the developer supplied no time. + """ + role: typing.Optional[RoleType] = pydantic.Field(default=None) """ The role of the message's sender: system, assistant, user, function, or diff --git a/src/zep_cloud/types/node_search_filters.py b/src/zep_cloud/types/node_search_filters.py new file mode 100644 index 00000000..76ea082d --- /dev/null +++ b/src/zep_cloud/types/node_search_filters.py @@ -0,0 +1,61 @@ +# This file was auto-generated by Fern from our API Definition. + +from __future__ import annotations + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs +from .date_filters import DateFilters +from .property_filter import PropertyFilter + + +class NodeSearchFilters(UniversalBaseModel): + content_policy_violated: typing.Optional[bool] = pydantic.Field(default=None) + """ + Match episodes by their content-policy result. Supported only on episode search when the project setting include_policy_violating_episodes is true. + """ + + date_filters: typing.Optional[DateFilters] = pydantic.Field(default=None) + """ + Filter results by temporal values. + """ + + episode_uuids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Include results derived from any of these episode UUIDs. + """ + + exclude_node_labels: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Exclude results with any of these node labels. Edge search does not support this filter. + """ + + metadata_filters: typing.Optional["MetadataFilterGroup"] = pydantic.Field(default=None) + """ + Filter results by episode metadata. + """ + + node_labels: typing.Optional[typing.List[str]] = pydantic.Field(default=None) + """ + Include results with any of these node labels. Edge search does not support this filter. + """ + + property_filters: typing.Optional[typing.List[PropertyFilter]] = pydantic.Field(default=None) + """ + Filter results by node or edge properties. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow + + +from .metadata_filter_group import MetadataFilterGroup # noqa: E402, I001 + +update_forward_refs(NodeSearchFilters, MetadataFilterGroup=MetadataFilterGroup) diff --git a/src/zep_cloud/types/outcome_mapping_rule.py b/src/zep_cloud/types/outcome_mapping_rule.py index 26fbc89a..ed372c88 100644 --- a/src/zep_cloud/types/outcome_mapping_rule.py +++ b/src/zep_cloud/types/outcome_mapping_rule.py @@ -35,7 +35,7 @@ class OutcomeMappingRule(UniversalBaseModel): values: typing.Optional[typing.Dict[str, str]] = pydantic.Field(default=None) """ - Values maps metadata strings to Trajectory outcomes. + Values maps metadata strings to Trace outcomes. """ if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/project.py b/src/zep_cloud/types/project.py index 09a2e2b3..99239c33 100644 --- a/src/zep_cloud/types/project.py +++ b/src/zep_cloud/types/project.py @@ -25,6 +25,11 @@ class Project(UniversalBaseModel): A human-readable description of the project. """ + hyperedges_enabled: typing.Optional[bool] = pydantic.Field(default=None) + """ + True when hyperedge extraction is enabled for this project. This setting is one-way. + """ + include_policy_violating_episodes: typing.Optional[bool] = pydantic.Field(default=None) """ When true, episode reads on graphs with a content policy include the diff --git a/src/zep_cloud/types/rename_agent_task_family_response.py b/src/zep_cloud/types/rename_agent_task_family_response.py new file mode 100644 index 00000000..b7fd9687 --- /dev/null +++ b/src/zep_cloud/types/rename_agent_task_family_response.py @@ -0,0 +1,29 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +import pydantic +from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel +from .agent_task_family_descriptor import AgentTaskFamilyDescriptor + + +class RenameAgentTaskFamilyResponse(UniversalBaseModel): + merged: typing.Optional[bool] = pydantic.Field(default=None) + """ + True when the source descriptor merged into an existing one. + """ + + task_family: typing.Optional[AgentTaskFamilyDescriptor] = pydantic.Field(default=None) + """ + The descriptor after the operation. On a merge it is the descriptor that + kept the target slug. + """ + + if IS_PYDANTIC_V2: + model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 + else: + + class Config: + frozen = True + smart_union = True + extra = pydantic.Extra.allow diff --git a/src/zep_cloud/types/search_filters.py b/src/zep_cloud/types/search_filters.py index f3f82d08..98ae5dab 100644 --- a/src/zep_cloud/types/search_filters.py +++ b/src/zep_cloud/types/search_filters.py @@ -13,7 +13,7 @@ class SearchFilters(UniversalBaseModel): connected_node_uuids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ - Include edges connected to any of these node UUIDs. + Include edges connected to any of these node UUIDs. Node search does not support this filter. """ content_policy_violated: typing.Optional[bool] = pydantic.Field(default=None) @@ -28,12 +28,12 @@ class SearchFilters(UniversalBaseModel): edge_types: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ - Include results with any of these edge types. + Include results with any of these edge types. Node search does not support this filter. """ edge_uuids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ - Include results with any of these edge UUIDs. + Include results with any of these edge UUIDs. Node search does not support this filter. """ episode_uuids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) @@ -43,12 +43,12 @@ class SearchFilters(UniversalBaseModel): exclude_edge_types: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ - Exclude results with any of these edge types. + Exclude results with any of these edge types. Node search does not support this filter. """ exclude_node_labels: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ - Exclude results with any of these node labels. + Exclude results with any of these node labels. Edge search does not support this filter. """ metadata_filters: typing.Optional["MetadataFilterGroup"] = pydantic.Field(default=None) @@ -58,7 +58,7 @@ class SearchFilters(UniversalBaseModel): node_labels: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ - Include results with any of these node labels. + Include results with any of these node labels. Edge search does not support this filter. """ property_filters: typing.Optional[typing.List[PropertyFilter]] = pydantic.Field(default=None) @@ -68,12 +68,12 @@ class SearchFilters(UniversalBaseModel): source_node_uuids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ - Include edges that start at any of these node UUIDs. + Include edges that start at any of these node UUIDs. Node search does not support this filter. """ target_node_uuids: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ - Include edges that end at any of these node UUIDs. + Include edges that end at any of these node UUIDs. Node search does not support this filter. """ if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/source_trace.py b/src/zep_cloud/types/source_trace.py index 8b5bb1e7..41ef6ec7 100644 --- a/src/zep_cloud/types/source_trace.py +++ b/src/zep_cloud/types/source_trace.py @@ -4,7 +4,7 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .imported_trajectory_reference import ImportedTrajectoryReference +from .imported_trace_reference import ImportedTraceReference from .source_span import SourceSpan @@ -24,9 +24,9 @@ class SourceTrace(UniversalBaseModel): HasError reports whether the trace contains an error. """ - imported_trajectories: typing.Optional[typing.List[ImportedTrajectoryReference]] = pydantic.Field(default=None) + imported_traces: typing.Optional[typing.List[ImportedTraceReference]] = pydantic.Field(default=None) """ - ImportedTrajectories contains visible Zep Trajectories imported from this trace. Example: [{"agent_uuid":"f8b28f94-4f5a-4b3a-b782-87aa8464ac04","trajectory_uuid":"6a906e70-50ca-4e43-a874-5fcae02a71fa","import_uuid":"332c28e1-e6a7-4bca-97b2-ef1ec82c65fa"}]. + ImportedTraces contains visible Zep Traces imported from this trace. Example: [{"agent_uuid":"f8b28f94-4f5a-4b3a-b782-87aa8464ac04","trace_uuid":"6a906e70-50ca-4e43-a874-5fcae02a71fa","import_uuid":"332c28e1-e6a7-4bca-97b2-ef1ec82c65fa"}]. """ last_activity_at: typing.Optional[str] = pydantic.Field(default=None) diff --git a/src/zep_cloud/types/source_trace_summary.py b/src/zep_cloud/types/source_trace_summary.py index a5197c63..7b99a8df 100644 --- a/src/zep_cloud/types/source_trace_summary.py +++ b/src/zep_cloud/types/source_trace_summary.py @@ -4,7 +4,7 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .imported_trajectory_reference import ImportedTrajectoryReference +from .imported_trace_reference import ImportedTraceReference class SourceTraceSummary(UniversalBaseModel): @@ -23,9 +23,9 @@ class SourceTraceSummary(UniversalBaseModel): HasError reports whether the trace contains an error. """ - imported_trajectories: typing.Optional[typing.List[ImportedTrajectoryReference]] = pydantic.Field(default=None) + imported_traces: typing.Optional[typing.List[ImportedTraceReference]] = pydantic.Field(default=None) """ - ImportedTrajectories contains visible Zep Trajectories imported from this trace. Example: [{"agent_uuid":"f8b28f94-4f5a-4b3a-b782-87aa8464ac04","trajectory_uuid":"6a906e70-50ca-4e43-a874-5fcae02a71fa","import_uuid":"332c28e1-e6a7-4bca-97b2-ef1ec82c65fa"}]. + ImportedTraces contains visible Zep Traces imported from this trace. Example: [{"agent_uuid":"f8b28f94-4f5a-4b3a-b782-87aa8464ac04","trace_uuid":"6a906e70-50ca-4e43-a874-5fcae02a71fa","import_uuid":"332c28e1-e6a7-4bca-97b2-ef1ec82c65fa"}]. """ last_activity_at: typing.Optional[str] = pydantic.Field(default=None) diff --git a/src/zep_cloud/types/trace_connection.py b/src/zep_cloud/types/trace_connection.py index f62fea45..7e2d3097 100644 --- a/src/zep_cloud/types/trace_connection.py +++ b/src/zep_cloud/types/trace_connection.py @@ -6,6 +6,7 @@ import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata +from .trace_connection_provider import TraceConnectionProvider from .trace_connection_settings import TraceConnectionSettings @@ -40,9 +41,9 @@ class TraceConnection(UniversalBaseModel): Name is the display name. """ - provider: typing.Optional[str] = pydantic.Field(default=None) + provider: typing.Optional[TraceConnectionProvider] = pydantic.Field(default=None) """ - Provider is the observability provider. + Provider is the Braintrust or LangSmith provider. """ provider_organization_id: typing.Optional[str] = pydantic.Field(default=None) diff --git a/src/zep_cloud/types/trace_connection_provider.py b/src/zep_cloud/types/trace_connection_provider.py new file mode 100644 index 00000000..92c3a429 --- /dev/null +++ b/src/zep_cloud/types/trace_connection_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TraceConnectionProvider = typing.Union[typing.Literal["braintrust", "langsmith"], typing.Any] diff --git a/src/zep_cloud/types/trace_connection_settings.py b/src/zep_cloud/types/trace_connection_settings.py index 26d64e63..e32d7181 100644 --- a/src/zep_cloud/types/trace_connection_settings.py +++ b/src/zep_cloud/types/trace_connection_settings.py @@ -14,12 +14,12 @@ class TraceConnectionSettings(UniversalBaseModel): requests_per_minute: typing.Optional[int] = pydantic.Field(default=None) """ - RequestsPerMinute is the maximum provider request rate. + RequestsPerMinute is the request rate limit from 1 to 60 per minute. """ retention_days: typing.Optional[int] = pydantic.Field(default=None) """ - RetentionDays is the provider retention window, when known. + RetentionDays is the optional retention window in days. """ if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/trajectory_content_mapping.py b/src/zep_cloud/types/trace_content_mapping.py similarity index 85% rename from src/zep_cloud/types/trajectory_content_mapping.py rename to src/zep_cloud/types/trace_content_mapping.py index 82161a64..a1d0c9a6 100644 --- a/src/zep_cloud/types/trajectory_content_mapping.py +++ b/src/zep_cloud/types/trace_content_mapping.py @@ -6,7 +6,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -class TrajectoryContentMapping(UniversalBaseModel): +class TraceContentMapping(UniversalBaseModel): include_system_messages: typing.Optional[bool] = pydantic.Field(default=None) """ IncludeSystemMessages controls whether system messages become events. @@ -14,7 +14,7 @@ class TrajectoryContentMapping(UniversalBaseModel): metadata_keys: typing.Optional[typing.List[str]] = pydantic.Field(default=None) """ - MetadataKeys contains root metadata keys copied to the Trajectory. + MetadataKeys contains root metadata keys copied to the Trace. """ if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/trajectory_import.py b/src/zep_cloud/types/trace_import.py similarity index 71% rename from src/zep_cloud/types/trajectory_import.py rename to src/zep_cloud/types/trace_import.py index 16cec072..bbb34d61 100644 --- a/src/zep_cloud/types/trajectory_import.py +++ b/src/zep_cloud/types/trace_import.py @@ -6,14 +6,15 @@ import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata -from .trajectory_import_pause_reason import TrajectoryImportPauseReason -from .trajectory_import_run_reference import TrajectoryImportRunReference -from .trajectory_import_schedule import TrajectoryImportSchedule -from .trajectory_import_selection import TrajectoryImportSelection -from .trajectory_mapping import TrajectoryMapping +from .trace_import_pause_reason import TraceImportPauseReason +from .trace_import_provider import TraceImportProvider +from .trace_import_run_reference import TraceImportRunReference +from .trace_import_schedule import TraceImportSchedule +from .trace_import_selection import TraceImportSelection +from .trace_mapping import TraceMapping -class TrajectoryImport(UniversalBaseModel): +class TraceImport(UniversalBaseModel): agent_uuid: typing.Optional[str] = pydantic.Field(default=None) """ AgentUUID is the owning Agent identifier. @@ -29,12 +30,12 @@ class TrajectoryImport(UniversalBaseModel): CreatedAt is the resource creation time. """ - imported_trajectory_count: typing.Optional[int] = pydantic.Field(default=None) + imported_trace_count: typing.Optional[int] = pydantic.Field(default=None) """ - ImportedTrajectoryCount is the number of Trajectories currently owned by this import. + ImportedTraceCount is the number of Traces currently owned by this import. """ - last_run: typing.Optional[TrajectoryImportRunReference] = pydantic.Field(default=None) + last_run: typing.Optional[TraceImportRunReference] = pydantic.Field(default=None) """ LastRun is the latest run for this import, when one exists. """ @@ -44,9 +45,9 @@ class TrajectoryImport(UniversalBaseModel): LearnFrom reports whether imported evidence can support Skills. """ - mapping: typing.Optional[TrajectoryMapping] = pydantic.Field(default=None) + mapping: typing.Optional[TraceMapping] = pydantic.Field(default=None) """ - Mapping defines how traces become Trajectories. Example: {"task_family":{"source":"fixed","value":"support"}}. + Mapping defines how traces become Traces. Example: {"task_family":{"source":"fixed","value":"support"}}. """ name: typing.Optional[str] = pydantic.Field(default=None) @@ -64,14 +65,14 @@ class TrajectoryImport(UniversalBaseModel): OnSourceChange defines how changed source traces are handled. """ - pause_reason: typing.Optional[TrajectoryImportPauseReason] = pydantic.Field(default=None) + pause_reason: typing.Optional[TraceImportPauseReason] = pydantic.Field(default=None) """ PauseReason is the reason for a paused import, when present. """ - provider: typing.Optional[str] = pydantic.Field(default=None) + provider: typing.Optional[TraceImportProvider] = pydantic.Field(default=None) """ - Provider is the observability provider. + Provider is the Braintrust or LangSmith provider. """ provider_organization_id: typing.Optional[str] = pydantic.Field(default=None) @@ -94,12 +95,12 @@ class TrajectoryImport(UniversalBaseModel): Revision is the import update revision. """ - schedule: typing.Optional[TrajectoryImportSchedule] = pydantic.Field(default=None) + schedule: typing.Optional[TraceImportSchedule] = pydantic.Field(default=None) """ Schedule contains recurring import settings, when enabled. Example: {"interval_hours":4,"start_from":"24h","settle_minutes":5,"max_open_hours":24}. """ - selection: typing.Optional[TrajectoryImportSelection] = pydantic.Field(default=None) + selection: typing.Optional[TraceImportSelection] = pydantic.Field(default=None) """ Selection defines the source traces to import. Example: {"trace_ids":["trace_123"]}. """ @@ -122,10 +123,10 @@ class TrajectoryImport(UniversalBaseModel): uuid_: typing_extensions.Annotated[ typing.Optional[str], FieldMetadata(alias="uuid"), - pydantic.Field(alias="uuid", description="UUID is the trajectory import identifier."), + pydantic.Field(alias="uuid", description="UUID is the trace import identifier."), ] = None """ - UUID is the trajectory import identifier. + UUID is the trace import identifier. """ if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/trajectory_import_page.py b/src/zep_cloud/types/trace_import_page.py similarity index 70% rename from src/zep_cloud/types/trajectory_import_page.py rename to src/zep_cloud/types/trace_import_page.py index 0f761326..1fcf1282 100644 --- a/src/zep_cloud/types/trajectory_import_page.py +++ b/src/zep_cloud/types/trace_import_page.py @@ -4,13 +4,13 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .trajectory_import import TrajectoryImport +from .trace_import import TraceImport -class TrajectoryImportPage(UniversalBaseModel): - items: typing.Optional[typing.List[TrajectoryImport]] = pydantic.Field(default=None) +class TraceImportPage(UniversalBaseModel): + items: typing.Optional[typing.List[TraceImport]] = pydantic.Field(default=None) """ - Items contains trajectory imports on this page. Example: [{"uuid":"332c28e1-e6a7-4bca-97b2-ef1ec82c65fa","name":"Support traces"}]. + Items contains trace imports on this page. Example: [{"uuid":"332c28e1-e6a7-4bca-97b2-ef1ec82c65fa","name":"Support traces"}]. """ next_cursor: typing.Optional[str] = pydantic.Field(default=None) diff --git a/src/zep_cloud/types/trajectory_import_pause_reason.py b/src/zep_cloud/types/trace_import_pause_reason.py similarity index 79% rename from src/zep_cloud/types/trajectory_import_pause_reason.py rename to src/zep_cloud/types/trace_import_pause_reason.py index 9039fd3f..1a9c0ef0 100644 --- a/src/zep_cloud/types/trajectory_import_pause_reason.py +++ b/src/zep_cloud/types/trace_import_pause_reason.py @@ -2,6 +2,6 @@ import typing -TrajectoryImportPauseReason = typing.Union[ +TraceImportPauseReason = typing.Union[ typing.Literal["user", "credential_rejected", "provider_project_not_found"], typing.Any ] diff --git a/src/zep_cloud/types/trace_import_provider.py b/src/zep_cloud/types/trace_import_provider.py new file mode 100644 index 00000000..bf7d4c8a --- /dev/null +++ b/src/zep_cloud/types/trace_import_provider.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TraceImportProvider = typing.Union[typing.Literal["braintrust", "langsmith"], typing.Any] diff --git a/src/zep_cloud/types/trajectory_import_run.py b/src/zep_cloud/types/trace_import_run.py similarity index 98% rename from src/zep_cloud/types/trajectory_import_run.py rename to src/zep_cloud/types/trace_import_run.py index 802ea7f0..9e9a5c9b 100644 --- a/src/zep_cloud/types/trajectory_import_run.py +++ b/src/zep_cloud/types/trace_import_run.py @@ -8,7 +8,7 @@ from ..core.serialization import FieldMetadata -class TrajectoryImportRun(UniversalBaseModel): +class TraceImportRun(UniversalBaseModel): completed_at: typing.Optional[str] = pydantic.Field(default=None) """ CompletedAt is the run completion time, when present. diff --git a/src/zep_cloud/types/trajectory_import_run_item.py b/src/zep_cloud/types/trace_import_run_item.py similarity index 85% rename from src/zep_cloud/types/trajectory_import_run_item.py rename to src/zep_cloud/types/trace_import_run_item.py index 4e9c3fbf..3794fbf0 100644 --- a/src/zep_cloud/types/trajectory_import_run_item.py +++ b/src/zep_cloud/types/trace_import_run_item.py @@ -6,7 +6,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -class TrajectoryImportRunItem(UniversalBaseModel): +class TraceImportRunItem(UniversalBaseModel): created_at: typing.Optional[str] = pydantic.Field(default=None) """ CreatedAt is the item creation time. @@ -32,9 +32,9 @@ class TrajectoryImportRunItem(UniversalBaseModel): TraceID is the provider trace identifier. """ - trajectory_uuid: typing.Optional[str] = pydantic.Field(default=None) + trace_uuid: typing.Optional[str] = pydantic.Field(default=None) """ - TrajectoryUUID is the created Trajectory identifier, when present. + TraceUUID is the created Trace identifier, when present. """ if IS_PYDANTIC_V2: diff --git a/src/zep_cloud/types/trajectory_import_run_item_page.py b/src/zep_cloud/types/trace_import_run_item_page.py similarity index 79% rename from src/zep_cloud/types/trajectory_import_run_item_page.py rename to src/zep_cloud/types/trace_import_run_item_page.py index de330df6..8f866062 100644 --- a/src/zep_cloud/types/trajectory_import_run_item_page.py +++ b/src/zep_cloud/types/trace_import_run_item_page.py @@ -4,11 +4,11 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .trajectory_import_run_item import TrajectoryImportRunItem +from .trace_import_run_item import TraceImportRunItem -class TrajectoryImportRunItemPage(UniversalBaseModel): - items: typing.Optional[typing.List[TrajectoryImportRunItem]] = pydantic.Field(default=None) +class TraceImportRunItemPage(UniversalBaseModel): + items: typing.Optional[typing.List[TraceImportRunItem]] = pydantic.Field(default=None) """ Items contains run items on this page. Example: [{"trace_id":"trace_123","status":"imported"}]. """ diff --git a/src/zep_cloud/types/trajectory_import_run_page.py b/src/zep_cloud/types/trace_import_run_page.py similarity index 81% rename from src/zep_cloud/types/trajectory_import_run_page.py rename to src/zep_cloud/types/trace_import_run_page.py index cab8b103..8dfbbebc 100644 --- a/src/zep_cloud/types/trajectory_import_run_page.py +++ b/src/zep_cloud/types/trace_import_run_page.py @@ -4,11 +4,11 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .trajectory_import_run import TrajectoryImportRun +from .trace_import_run import TraceImportRun -class TrajectoryImportRunPage(UniversalBaseModel): - items: typing.Optional[typing.List[TrajectoryImportRun]] = pydantic.Field(default=None) +class TraceImportRunPage(UniversalBaseModel): + items: typing.Optional[typing.List[TraceImportRun]] = pydantic.Field(default=None) """ Items contains runs on this page. Example: [{"uuid":"ea7e2724-9bfd-4ca1-aa5c-40a1dd72a688","status":"pending"}]. """ diff --git a/src/zep_cloud/types/trajectory_import_run_reference.py b/src/zep_cloud/types/trace_import_run_reference.py similarity index 73% rename from src/zep_cloud/types/trajectory_import_run_reference.py rename to src/zep_cloud/types/trace_import_run_reference.py index bb27a020..883e7dd0 100644 --- a/src/zep_cloud/types/trajectory_import_run_reference.py +++ b/src/zep_cloud/types/trace_import_run_reference.py @@ -6,11 +6,11 @@ import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata -from .trajectory_import_run_reference_status import TrajectoryImportRunReferenceStatus -from .trajectory_import_run_reference_trigger import TrajectoryImportRunReferenceTrigger +from .trace_import_run_reference_status import TraceImportRunReferenceStatus +from .trace_import_run_reference_trigger import TraceImportRunReferenceTrigger -class TrajectoryImportRunReference(UniversalBaseModel): +class TraceImportRunReference(UniversalBaseModel): completed_at: typing.Optional[str] = pydantic.Field(default=None) """ CompletedAt is the run completion time, when present. @@ -21,12 +21,12 @@ class TrajectoryImportRunReference(UniversalBaseModel): StartedAt is the run start time, when present. """ - status: typing.Optional[TrajectoryImportRunReferenceStatus] = pydantic.Field(default=None) + status: typing.Optional[TraceImportRunReferenceStatus] = pydantic.Field(default=None) """ Status is the run status. """ - trigger: typing.Optional[TrajectoryImportRunReferenceTrigger] = pydantic.Field(default=None) + trigger: typing.Optional[TraceImportRunReferenceTrigger] = pydantic.Field(default=None) """ Trigger is the event that created the run. """ diff --git a/src/zep_cloud/types/trajectory_import_run_reference_status.py b/src/zep_cloud/types/trace_import_run_reference_status.py similarity index 78% rename from src/zep_cloud/types/trajectory_import_run_reference_status.py rename to src/zep_cloud/types/trace_import_run_reference_status.py index 93322cae..0c5bafd8 100644 --- a/src/zep_cloud/types/trajectory_import_run_reference_status.py +++ b/src/zep_cloud/types/trace_import_run_reference_status.py @@ -2,6 +2,6 @@ import typing -TrajectoryImportRunReferenceStatus = typing.Union[ +TraceImportRunReferenceStatus = typing.Union[ typing.Literal["pending", "running", "succeeded", "partial", "failed", "canceled"], typing.Any ] diff --git a/src/zep_cloud/types/trace_import_run_reference_trigger.py b/src/zep_cloud/types/trace_import_run_reference_trigger.py new file mode 100644 index 00000000..55d7c057 --- /dev/null +++ b/src/zep_cloud/types/trace_import_run_reference_trigger.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TraceImportRunReferenceTrigger = typing.Union[typing.Literal["create", "schedule", "manual"], typing.Any] diff --git a/src/zep_cloud/types/trajectory_import_schedule.py b/src/zep_cloud/types/trace_import_schedule.py similarity index 95% rename from src/zep_cloud/types/trajectory_import_schedule.py rename to src/zep_cloud/types/trace_import_schedule.py index 65283eca..00c990ce 100644 --- a/src/zep_cloud/types/trajectory_import_schedule.py +++ b/src/zep_cloud/types/trace_import_schedule.py @@ -6,7 +6,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -class TrajectoryImportSchedule(UniversalBaseModel): +class TraceImportSchedule(UniversalBaseModel): interval_hours: typing.Optional[int] = pydantic.Field(default=None) """ IntervalHours is the scheduled run interval. diff --git a/src/zep_cloud/types/trajectory_import_selection.py b/src/zep_cloud/types/trace_import_selection.py similarity index 94% rename from src/zep_cloud/types/trajectory_import_selection.py rename to src/zep_cloud/types/trace_import_selection.py index bc74e806..1ab85bf6 100644 --- a/src/zep_cloud/types/trajectory_import_selection.py +++ b/src/zep_cloud/types/trace_import_selection.py @@ -7,7 +7,7 @@ from .trace_filter import TraceFilter -class TrajectoryImportSelection(UniversalBaseModel): +class TraceImportSelection(UniversalBaseModel): filter: typing.Optional[TraceFilter] = pydantic.Field(default=None) """ Filter selects traces by provider fields. Example: {"started_after":"2026-01-01T00:00:00Z"}. diff --git a/src/zep_cloud/types/trajectory_mapping.py b/src/zep_cloud/types/trace_mapping.py similarity index 74% rename from src/zep_cloud/types/trajectory_mapping.py rename to src/zep_cloud/types/trace_mapping.py index ed8824af..c3e15450 100644 --- a/src/zep_cloud/types/trajectory_mapping.py +++ b/src/zep_cloud/types/trace_mapping.py @@ -7,24 +7,24 @@ from .objective_mapping_rule import ObjectiveMappingRule from .outcome_mapping_rule import OutcomeMappingRule from .task_family_mapping_rule import TaskFamilyMappingRule -from .trajectory_content_mapping import TrajectoryContentMapping -from .trajectory_mapping_include_outcomes_item import TrajectoryMappingIncludeOutcomesItem +from .trace_content_mapping import TraceContentMapping +from .trace_mapping_include_outcomes_item import TraceMappingIncludeOutcomesItem -class TrajectoryMapping(UniversalBaseModel): - content: typing.Optional[TrajectoryContentMapping] = pydantic.Field(default=None) +class TraceMapping(UniversalBaseModel): + content: typing.Optional[TraceContentMapping] = pydantic.Field(default=None) """ Content configures copied span content. Example: {"include_system_messages":false}. """ - include_outcomes: typing.Optional[typing.List[TrajectoryMappingIncludeOutcomesItem]] = pydantic.Field(default=None) + include_outcomes: typing.Optional[typing.List[TraceMappingIncludeOutcomesItem]] = pydantic.Field(default=None) """ IncludeOutcomes lists outcomes that can support a Skill. """ objective: typing.Optional[ObjectiveMappingRule] = pydantic.Field(default=None) """ - Objective maps provider data to a Trajectory objective. Example: {"source":"first_user_message"}. + Objective maps provider data to a Trace objective. Example: {"source":"first_user_message"}. """ outcome: typing.Optional[typing.List[OutcomeMappingRule]] = pydantic.Field(default=None) diff --git a/src/zep_cloud/types/trajectory_mapping_result_outcome.py b/src/zep_cloud/types/trace_mapping_include_outcomes_item.py similarity index 78% rename from src/zep_cloud/types/trajectory_mapping_result_outcome.py rename to src/zep_cloud/types/trace_mapping_include_outcomes_item.py index 5c92e5b5..c1159c54 100644 --- a/src/zep_cloud/types/trajectory_mapping_result_outcome.py +++ b/src/zep_cloud/types/trace_mapping_include_outcomes_item.py @@ -2,6 +2,6 @@ import typing -TrajectoryMappingResultOutcome = typing.Union[ +TraceMappingIncludeOutcomesItem = typing.Union[ typing.Literal["succeeded", "failed", "partial", "abandoned", "unknown"], typing.Any ] diff --git a/src/zep_cloud/types/trajectory_mapping_result.py b/src/zep_cloud/types/trace_mapping_result.py similarity index 76% rename from src/zep_cloud/types/trajectory_mapping_result.py rename to src/zep_cloud/types/trace_mapping_result.py index cf4c9efe..1ff0fa6e 100644 --- a/src/zep_cloud/types/trajectory_mapping_result.py +++ b/src/zep_cloud/types/trace_mapping_result.py @@ -4,11 +4,11 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .trajectory_mapping_result_outcome import TrajectoryMappingResultOutcome -from .trajectory_mapping_result_outcome_rule import TrajectoryMappingResultOutcomeRule +from .trace_mapping_result_outcome import TraceMappingResultOutcome +from .trace_mapping_result_outcome_rule import TraceMappingResultOutcomeRule -class TrajectoryMappingResult(UniversalBaseModel): +class TraceMappingResult(UniversalBaseModel): metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(default=None) """ Metadata contains mapped source metadata. Example: {"ticket_id":"123"}. @@ -19,12 +19,12 @@ class TrajectoryMappingResult(UniversalBaseModel): Objective is the resolved objective. """ - outcome: typing.Optional[TrajectoryMappingResultOutcome] = pydantic.Field(default=None) + outcome: typing.Optional[TraceMappingResultOutcome] = pydantic.Field(default=None) """ Outcome is the resolved outcome. """ - outcome_rule: typing.Optional[TrajectoryMappingResultOutcomeRule] = pydantic.Field(default=None) + outcome_rule: typing.Optional[TraceMappingResultOutcomeRule] = pydantic.Field(default=None) """ OutcomeRule is the rule that selected the outcome. """ diff --git a/src/zep_cloud/types/agent_trajectory_outcome.py b/src/zep_cloud/types/trace_mapping_result_outcome.py similarity index 80% rename from src/zep_cloud/types/agent_trajectory_outcome.py rename to src/zep_cloud/types/trace_mapping_result_outcome.py index 21eb637a..ac887826 100644 --- a/src/zep_cloud/types/agent_trajectory_outcome.py +++ b/src/zep_cloud/types/trace_mapping_result_outcome.py @@ -2,6 +2,6 @@ import typing -AgentTrajectoryOutcome = typing.Union[ +TraceMappingResultOutcome = typing.Union[ typing.Literal["succeeded", "failed", "partial", "abandoned", "unknown"], typing.Any ] diff --git a/src/zep_cloud/types/trace_mapping_result_outcome_rule.py b/src/zep_cloud/types/trace_mapping_result_outcome_rule.py new file mode 100644 index 00000000..b0e2d74d --- /dev/null +++ b/src/zep_cloud/types/trace_mapping_result_outcome_rule.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +TraceMappingResultOutcomeRule = typing.Union[typing.Literal["score", "metadata", "error"], typing.Any] diff --git a/src/zep_cloud/types/trace_preview.py b/src/zep_cloud/types/trace_preview.py index beb2ad9d..3e96dd49 100644 --- a/src/zep_cloud/types/trace_preview.py +++ b/src/zep_cloud/types/trace_preview.py @@ -4,7 +4,7 @@ import pydantic from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel -from .trajectory_mapping_result import TrajectoryMappingResult +from .trace_mapping_result import TraceMappingResult class TracePreview(UniversalBaseModel): @@ -13,9 +13,9 @@ class TracePreview(UniversalBaseModel): EventCount is the number of mapped events. """ - mapping_result: typing.Optional[TrajectoryMappingResult] = pydantic.Field(default=None) + mapping_result: typing.Optional[TraceMappingResult] = pydantic.Field(default=None) """ - MappingResult contains the resolved Trajectory fields. Example: {"task_family":"support","objective":"Help the customer"}. + MappingResult contains the resolved Trace fields. Example: {"task_family":"support","objective":"Help the customer"}. """ skip_reason: typing.Optional[str] = pydantic.Field(default=None) diff --git a/src/zep_cloud/types/trajectory_import_run_reference_trigger.py b/src/zep_cloud/types/trajectory_import_run_reference_trigger.py deleted file mode 100644 index c5d28c99..00000000 --- a/src/zep_cloud/types/trajectory_import_run_reference_trigger.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -TrajectoryImportRunReferenceTrigger = typing.Union[typing.Literal["create", "schedule", "manual"], typing.Any] diff --git a/src/zep_cloud/types/trajectory_mapping_include_outcomes_item.py b/src/zep_cloud/types/trajectory_mapping_include_outcomes_item.py deleted file mode 100644 index 973691c5..00000000 --- a/src/zep_cloud/types/trajectory_mapping_include_outcomes_item.py +++ /dev/null @@ -1,7 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -TrajectoryMappingIncludeOutcomesItem = typing.Union[ - typing.Literal["succeeded", "failed", "partial", "abandoned", "unknown"], typing.Any -] diff --git a/src/zep_cloud/types/trajectory_mapping_result_outcome_rule.py b/src/zep_cloud/types/trajectory_mapping_result_outcome_rule.py deleted file mode 100644 index 2e3ccc86..00000000 --- a/src/zep_cloud/types/trajectory_mapping_result_outcome_rule.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -TrajectoryMappingResultOutcomeRule = typing.Union[typing.Literal["score", "metadata", "error"], typing.Any] diff --git a/src/zep_cloud/user_group/client.py b/src/zep_cloud/user_group/client.py index 3a849190..ada8383c 100644 --- a/src/zep_cloud/user_group/client.py +++ b/src/zep_cloud/user_group/client.py @@ -40,7 +40,7 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> UserGroup: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -85,7 +85,7 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[UserGroup, UserGroupPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -124,7 +124,7 @@ def list( def get(self, group_uuid: str, *, request_options: typing.Optional[RequestOptions] = None) -> UserGroup: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -161,7 +161,7 @@ def delete( request_options: typing.Optional[RequestOptions] = None, ) -> None: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -204,7 +204,7 @@ def update( request_options: typing.Optional[RequestOptions] = None, ) -> UserGroup: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -261,7 +261,7 @@ def list_member_candidates( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[User, UserPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -314,7 +314,7 @@ def add_members( request_options: typing.Optional[RequestOptions] = None, ) -> MembershipMutationResult: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -361,7 +361,7 @@ def list_members( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[User, UserPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -414,7 +414,7 @@ def remove_members( request_options: typing.Optional[RequestOptions] = None, ) -> MembershipMutationResult: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -460,7 +460,7 @@ def remove_member( request_options: typing.Optional[RequestOptions] = None, ) -> None: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -505,7 +505,7 @@ def list_for_user( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[UserGroup, UserGroupPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -569,7 +569,7 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> UserGroup: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -622,7 +622,7 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[UserGroup, UserGroupPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -670,7 +670,7 @@ async def main() -> None: async def get(self, group_uuid: str, *, request_options: typing.Optional[RequestOptions] = None) -> UserGroup: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -715,7 +715,7 @@ async def delete( request_options: typing.Optional[RequestOptions] = None, ) -> None: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -766,7 +766,7 @@ async def update( request_options: typing.Optional[RequestOptions] = None, ) -> UserGroup: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -831,7 +831,7 @@ async def list_member_candidates( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[User, UserPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -893,7 +893,7 @@ async def add_members( request_options: typing.Optional[RequestOptions] = None, ) -> MembershipMutationResult: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -948,7 +948,7 @@ async def list_members( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[User, UserPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -1010,7 +1010,7 @@ async def remove_members( request_options: typing.Optional[RequestOptions] = None, ) -> MembershipMutationResult: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -1064,7 +1064,7 @@ async def remove_member( request_options: typing.Optional[RequestOptions] = None, ) -> None: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -1117,7 +1117,7 @@ async def list_for_user( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[UserGroup, UserGroupPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- diff --git a/src/zep_cloud/user_group/raw_client.py b/src/zep_cloud/user_group/raw_client.py index 06bb3f70..d96c5c47 100644 --- a/src/zep_cloud/user_group/raw_client.py +++ b/src/zep_cloud/user_group/raw_client.py @@ -42,7 +42,7 @@ def create( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[UserGroup]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -163,7 +163,7 @@ def list( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[UserGroup, UserGroupPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -281,7 +281,7 @@ def get( self, group_uuid: str, *, request_options: typing.Optional[RequestOptions] = None ) -> HttpResponse[UserGroup]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -376,7 +376,7 @@ def delete( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[None]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -482,7 +482,7 @@ def update( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[UserGroup]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -611,7 +611,7 @@ def list_member_candidates( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[User, UserPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -749,7 +749,7 @@ def add_members( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[MembershipMutationResult]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -870,7 +870,7 @@ def list_members( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[User, UserPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -997,7 +997,7 @@ def remove_members( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[MembershipMutationResult]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -1117,7 +1117,7 @@ def remove_member( request_options: typing.Optional[RequestOptions] = None, ) -> HttpResponse[None]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -1224,7 +1224,7 @@ def list_for_user( request_options: typing.Optional[RequestOptions] = None, ) -> SyncPager[UserGroup, UserGroupPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -1355,7 +1355,7 @@ async def create( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[UserGroup]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -1476,7 +1476,7 @@ async def list( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[UserGroup, UserGroupPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -1597,7 +1597,7 @@ async def get( self, group_uuid: str, *, request_options: typing.Optional[RequestOptions] = None ) -> AsyncHttpResponse[UserGroup]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -1692,7 +1692,7 @@ async def delete( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[None]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -1798,7 +1798,7 @@ async def update( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[UserGroup]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -1927,7 +1927,7 @@ async def list_member_candidates( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[User, UserPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -2068,7 +2068,7 @@ async def add_members( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[MembershipMutationResult]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -2189,7 +2189,7 @@ async def list_members( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[User, UserPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -2319,7 +2319,7 @@ async def remove_members( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[MembershipMutationResult]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -2439,7 +2439,7 @@ async def remove_member( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncHttpResponse[None]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- @@ -2546,7 +2546,7 @@ async def list_for_user( request_options: typing.Optional[RequestOptions] = None, ) -> AsyncPager[UserGroup, UserGroupPage]: """ - Requires a project API key, or an account-admin bearer token with the X-Zep-Project header. The account must be entitled to attribute-based access control. + Requires attribute-based access control to be enabled for your account. Parameters ---------- From 5da06f268ab8866e176d0ca895c44eb1ad62b83d Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 20:40:34 +0000 Subject: [PATCH 2/3] [fern-replay] Applied customizations Patches applied (1): - patch-082f322d: Let an ontology field opt out, and fix the README (#348) --- .fern/replay.lock | 10 ++++++-- README.md | 60 ----------------------------------------------- 2 files changed, 8 insertions(+), 62 deletions(-) diff --git a/.fern/replay.lock b/.fern/replay.lock index 2093f38a..a2c973f1 100644 --- a/.fern/replay.lock +++ b/.fern/replay.lock @@ -42,14 +42,20 @@ generations: cli_version: unknown generator_versions: fernapi/fern-python-sdk: 5.34.3 -current_generation: df5e05eb2b9d6e980f95ae3d41cb22a8230489c1 + - commit_sha: ec1f3c0337b8b4526af5d8084f96bd77c8e84994 + tree_hash: 57f6fc333b7674f6a111b33dba1a9fd4a994cfa1 + timestamp: 2026-10-12T20:40:29.722Z + cli_version: unknown + generator_versions: + fernapi/fern-python-sdk: 5.34.3 +current_generation: ec1f3c0337b8b4526af5d8084f96bd77c8e84994 patches: - id: patch-082f322d content_hash: sha256:80c233468a0236864659e748ffa647c6c6a89435d3fca6dec28965e48b901c46 original_commit: 082f322d1bd077cff00e3630500ac6187251a000 original_message: Let an ontology field opt out, and fix the README (#348) original_author: Pavlo Paliychuk - base_generation: df5e05eb2b9d6e980f95ae3d41cb22a8230489c1 + base_generation: ec1f3c0337b8b4526af5d8084f96bd77c8e84994 files: - README.md patch_content: | diff --git a/README.md b/README.md index c775b5f8..c861b306 100644 --- a/README.md +++ b/README.md @@ -33,78 +33,18 @@ pip install zep-cloud > [!NOTE] > Zep Cloud [overview](https://help.getzep.com/concepts) and [cloud sdk guide](https://help.getzep.com/sdks). -### Community Installation -```bash -pip install zep-python -``` -> [!NOTE] -> Zep Community Edition [quick start](https://help.getzep.com/ce/quickstart) and [sdk guide](https://help.getzep.com/ce/sdks). - -### Zep v0.x Compatible SDK -You can install Zep v0.x compatible sdk by running: -```bash -pip install "zep-python>=1.5.0,<2.0.0" -``` -> [!NOTE] -> Zep v0.x [quick start](https://help.getzep.com/ce/legacy/deployment/quickstart) and [sdk guide](https://help.getzep.com/ce/legacy/sdk). - ### How Zep works Zep persists and recalls chat histories, and automatically generates summaries and other artifacts from these chat histories. It also embeds messages and summaries, enabling you to search Zep for relevant context from past conversations. Zep does all of this asynchronously, ensuring these operations don't impact your user's chat experience. Data is persisted to database, allowing you to scale out when growth demands. -Zep also provides a simple, easy to use abstraction for document vector search called Document Collections. This is designed to complement Zep's core context features, but is not designed to be a general purpose vector database. - Zep allows you to be more intentional about constructing your prompt: 1. automatically adding a few recent messages, with the number customized for your app; 2. a summary of recent conversations prior to the messages above; 3. and/or contextually relevant summaries or messages surfaced from the entire chat session. -4. and/or relevant Business data from Zep Document Collections. - -Zep Cloud offers: -- **Fact Extraction:** Automatically build fact tables from conversations, without having to define a data schema upfront. -- **Dialog Classification:** Instantly and accurately classify chat dialog. Understand user intent and emotion, segment users, and more. Route chains based on semantic context, and trigger events. -- **Structured Data Extraction:** Quickly extract business data from chat conversations using a schema you define. Understand what your Assistant should ask for next in order to complete its task. You will also need to provide a Zep Project API key to your zep client. You can find out about zep projects in our [cloud docs](https://help.getzep.com/projects.html) -### Using LangChain Zep Classes with `zep-python` - -(Currently only available on release candidate versions) - -In the pre-release version `zep-python` sdk comes with `ZepChatMessageHistory` and `ZepVectorStore` -classes that are compatible with [LangChain's Python expression language](https://python.langchain.com/docs/expression_language/) - -In order to use these classes in your application, you need to make sure that you have -`langchain_core` package installed, please refer to [Langchain's docs installation section](https://python.langchain.com/docs/get_started/installation#langchain-core). - -We support `langchain_core@>=0.1.3<0.2.0` - -You can import these classes in the following way: - -```python -from zep_cloud.langchain import ZepChatMessageHistory, ZepVectorStore -``` - -### Running Examples -You will need to set the following environment variables to run examples in the `examples` directory: - -```dotenv -# Please use examples/.env.example as a template for .env file - -# Required -ZEP_API_KEY=# Your Zep Project API Key -ZEP_COLLECTION=# used in ingestion script and in vector store examples -OPENAI_API_KEY=# Your OpenAI API Key - -# Optional (If you want to use langsmith with LangServe Sample App) -LANGCHAIN_TRACING_V2=true -LANGCHAIN_API_KEY= -LANGCHAIN_PROJECT=# If not specified, defaults to "default" -``` - - - ## Installation ```sh From 72ccfc3c2a5b00df30c14e117e8a099d0f16d72d Mon Sep 17 00:00:00 2001 From: "zep-sdk-release-bot[bot]" Date: Mon, 12 Oct 2026 20:40:43 +0000 Subject: [PATCH 3/3] chore: bump SDK version to 4.0.0-rc.1 --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index bb9b1c0a..dc42f865 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,7 @@ [project] name = "zep-cloud" dynamic = ["version"] +version = "4.0.0rc1" [tool.poetry] name = "zep-cloud"