diff --git a/.fern/metadata.json b/.fern/metadata.json index 1eab89dd..4f8b927d 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,7 +1,7 @@ { "cliVersion": "5.146.2", "generatorName": "fernapi/fern-python-sdk", - "generatorVersion": "5.34.3", + "generatorVersion": "5.39.2", "generatorConfig": { "package_name": "zep_cloud", "client": { @@ -12,10 +12,10 @@ }, "pyproject_python_version": "^3.10" }, - "originGitCommit": "26e9820bad75494d5ac535a7f939856d42587c22", + "originGitCommit": "53ddac11636ddab9f44e687fd1528a54a4a5c6f7", "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/.fern/replay.lock b/.fern/replay.lock index 2093f38a..f513ce26 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: 22739d1a35c1b2e60db3d671206d3a732d46f01e + tree_hash: 30adcea21c24fffb689db7f7d4129dad0271956a + timestamp: 2026-10-12T21:20:42.433Z + cli_version: unknown + generator_versions: + fernapi/fern-python-sdk: 5.39.2 +current_generation: 22739d1a35c1b2e60db3d671206d3a732d46f01e 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: 22739d1a35c1b2e60db3d671206d3a732d46f01e files: - README.md patch_content: | 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..dc42f865 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,11 @@ [project] name = "zep-cloud" dynamic = ["version"] -version = "4.0.0b1" +version = "4.0.0rc1" [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/core/pydantic_utilities.py b/src/zep_cloud/core/pydantic_utilities.py index 70816b99..7c2c2372 100644 --- a/src/zep_cloud/core/pydantic_utilities.py +++ b/src/zep_cloud/core/pydantic_utilities.py @@ -37,8 +37,8 @@ IS_PYDANTIC_V2 = pydantic.VERSION.startswith("2.") if IS_PYDANTIC_V2: - _datetime_adapter = pydantic.TypeAdapter(dt.datetime) # type: ignore[attr-defined] - _date_adapter = pydantic.TypeAdapter(dt.date) # type: ignore[attr-defined] + _datetime_adapter = pydantic.TypeAdapter(dt.datetime) # type: ignore[attr-defined,var-annotated] + _date_adapter = pydantic.TypeAdapter(dt.date) # type: ignore[attr-defined,var-annotated] def parse_datetime(value: Any) -> dt.datetime: # type: ignore[misc] if isinstance(value, dt.datetime): 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 ----------