diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index dd163fe..dbbc521 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: 140336b3-3873-4a19-9c47-b02749d85f10 management: - docChecksum: 79d015909731bd56f219c7f1fbf3b647 + docChecksum: 7af31010839ddf9f6108f7b04695952b docVersion: 1.0.0 speakeasyVersion: 1.790.3 generationVersion: 2.918.4 - releaseVersion: 1.0.3 - configChecksum: e2d751c2183224f809521d0f06db73e2 + releaseVersion: 1.0.4 + configChecksum: 5d76ed4c4784296080be6c5bf8a8ac60 repoURL: https://github.com/TextQLLabs/textql-python-v3.git installationURL: https://github.com/TextQLLabs/textql-python-v3.git published: true persistentEdits: - generation_id: cc3e3489-2dc3-4297-97ff-33b44ba0bc22 - pristine_commit_hash: f8db652682cd865ed331ea585b4c0b3962efc24d - pristine_tree_hash: 8aa9ad886df7c1cf92de9181aa54b19a97504832 + generation_id: 8ca8c294-e771-475e-8278-7fd514acdf04 + pristine_commit_hash: 790c65752561275be4d2589da0459cf9ce75ee32 + pristine_tree_hash: e52aed69a55e1940a5ddc0fd44509137df3cff30 features: python: additionalDependencies: 1.1.0 @@ -1957,6 +1957,14 @@ trackedFiles: id: 96cf5241033b last_write_checksum: sha1:7d4fdfd1da582b08fdd4ad400f15670fc2dec80d pristine_git_object: 150a1abec1291764555e50e00e79225d19dcf1a5 + docs/models/observabilityservicegetmembersignaltrendrequest.md: + id: 3c5203c1abe7 + last_write_checksum: sha1:0a779351cc67c46469d45c5b181b7781e588a87d + pristine_git_object: 9b13b6eaf785cf1b30554a584e253572b082235c + docs/models/observabilityservicegetmembersignaltrendresponse.md: + id: d76894bccf10 + last_write_checksum: sha1:7ba576be6f9578a0894354f42e114238c8196d37 + pristine_git_object: f4ea66226b28900772919f3e769de79d98d3b0cf docs/models/observabilityservicegetobservabilitystatsrequest.md: id: 26e3f4afcd01 last_write_checksum: sha1:97ba6fdd87c42eac2e0af9124bdf69c82a767efb @@ -5611,8 +5619,8 @@ trackedFiles: pristine_git_object: 95ae9f752ec2220c968977da021579ddf67aeb34 docs/models/textqlrpcpublicchatthreadwarningtype.md: id: 40393e08ba61 - last_write_checksum: sha1:6f18fcca6cafee9516c9f4a09e6b30083c5e1269 - pristine_git_object: 062de0bdf672f2ca2ff18cd651a09ef8d8ac677b + last_write_checksum: sha1:7a944d7b3ce7156e2ddafeec9f8e32c231fab3ba + pristine_git_object: 3eea78e1d392cbfd9dffacb89c2c86761bc986d7 docs/models/textqlrpcpublicchatunbookmarkchatrequest.md: id: 2d0869e1ad90 last_write_checksum: sha1:ad1dc62025c5a05c498e4b3e0b56df1cace8ca1e @@ -5627,8 +5635,8 @@ trackedFiles: pristine_git_object: 6e2513cece216e40d6ac757802216efd8dc10b22 docs/models/textqlrpcpublicchatwarningcategory.md: id: 6046b1f37504 - last_write_checksum: sha1:1c69116c61440f190e5749bc671a3ffe16ecf347 - pristine_git_object: 1137ccc455ddab26f610d8731f104361e57f6e50 + last_write_checksum: sha1:5b599d1ddf867bef8b8acdafc7449da2bdd964e5 + pristine_git_object: b2e9130c144059132ead1deefa5d50075bb3abcf docs/models/textqlrpcpublicchatwatchchatevent.md: id: c5fe4a1be01e last_write_checksum: sha1:03aef5b4e5a562b90c3f8a4563d24d2ee2e3b8e4 @@ -6969,6 +6977,14 @@ trackedFiles: id: 59b0930d751f last_write_checksum: sha1:da275c6bdb7a6fe39e01da29791a8a1b2bc9c8bc pristine_git_object: e0e4bcf4e12891ee0b6810b0e2a0d2298169eb5d + docs/models/textqlrpcpublicobservegetmembersignaltrendrequest.md: + id: 7d228ca1d167 + last_write_checksum: sha1:6dec420c42611073ab9bf4c762b262ec32d5ac1f + pristine_git_object: c1133ed00202055ea09a5629c6bb6114213ea675 + docs/models/textqlrpcpublicobservegetmembersignaltrendresponse.md: + id: 8afe1ccf155d + last_write_checksum: sha1:2d26ae07663f25bd7f223a202d7529e9a87ce8e7 + pristine_git_object: a0d63261dcb3a0e7d2d815c3b830190778bbb56b docs/models/textqlrpcpublicobservegetobservabilitystatsrequest.md: id: 071019733c61 last_write_checksum: sha1:d15e9638d6cdc456e5845eb68e4f215b1a0ff2f6 @@ -6999,16 +7015,20 @@ trackedFiles: pristine_git_object: 79e8bf05f425c5c04acdfa109a029c2d5ac26ad8 docs/models/textqlrpcpublicobservememberbillingstat.md: id: 1c8f3133388a - last_write_checksum: sha1:2eb1dd5169c47f4daa81579b53a7b4d312712492 - pristine_git_object: 12dfff9d02c5a48d14089cb7d5e6603986eb1188 + last_write_checksum: sha1:66cea4f5af8489bf8239319fcfb90aacb70385bd + pristine_git_object: f91d89d597967a1719e9aab44e521b3525956cfa docs/models/textqlrpcpublicobservememberchatsourcestat.md: id: 21c324f410f7 last_write_checksum: sha1:9ee5b08d45da4fc614bb31ddf29a1750ae6a252a pristine_git_object: 73bf02c5de72b8de59f1529645bdb773957af1be + docs/models/textqlrpcpublicobservemembersignaltrendpoint.md: + id: 80e7954178a2 + last_write_checksum: sha1:2f3d8dfdf80c0420537da3307ef6724b4cbbd7db + pristine_git_object: 74b95dfe06a70613d34aaccd43aef20603edce82 docs/models/textqlrpcpublicobserveobservabilitysummary.md: id: e27c8990204e - last_write_checksum: sha1:73e0c0d981955f5a1568e2936e38b2895803051c - pristine_git_object: 9d9ae487af5fd971d4fc8aaa8c183c34e19be1a5 + last_write_checksum: sha1:df5cf3577e3544a14fb7666396591af5ff7bde6b + pristine_git_object: 839a70515e59844b943685fcf10a8950ca1f0da6 docs/models/textqlrpcpublicobserveplaybookbillingstat.md: id: 9237ed184cc9 last_write_checksum: sha1:2534bcb63c182200446b69c3a4210a107aa185c5 @@ -9513,6 +9533,10 @@ trackedFiles: id: bab967736831 last_write_checksum: sha1:36f83700e97d83f9f9184506bb82c9d4e25986f6 pristine_git_object: 0f6aa6a7b907c9c697d698b76053bf95b936d2d9 + docs/sdks/observabilityservice/README.md: + id: a2b0b7cc2794 + last_write_checksum: sha1:3a366bc4852d5a601d4954e370e8be19207d9377 + pristine_git_object: af1315097b4d83752cda4bcd99b9a7bf27efc47c docs/sdks/ontologymanagementservice/README.md: id: 49fe27c9b83e last_write_checksum: sha1:e5061a7be6eb65b38691be8377dbc42e4f790412 @@ -9575,8 +9599,8 @@ trackedFiles: pristine_git_object: 14a5ab5a0178bf5f37c25306ec11372c1dfc1f4e pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:44b81bc589fd32527e46aa35f249c050ebffa66c - pristine_git_object: 3082561d6801fdb8d9946010373d19e488eb727d + last_write_checksum: sha1:8be6d844046a001e831785f9c222d0fcc90a002b + pristine_git_object: d14db9dfba1cc886b31e3eb325484acb799de3b7 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:d5a0f1ce09f7b890340fdb6f26345fce7dc9a70d @@ -9603,8 +9627,8 @@ trackedFiles: pristine_git_object: a9e63d694ae036ae9a43efc262dd124a2e1062e7 src/textql_sdk/_version.py: id: "226928447e58" - last_write_checksum: sha1:d1fae7293e5b05d823cdc432c1d114bc0f83d05f - pristine_git_object: fb010ebce4aff7734ef263ac2788431a5c95584a + last_write_checksum: sha1:953f7dbefde624a88e7fbce1c3a22e09a0147f04 + pristine_git_object: 4f3a413671111209dcba43a2a812a1d5eba0e517 src/textql_sdk/agents.py: id: 4ff492529583 last_write_checksum: sha1:61b0b5714598af35b733276cfd32fa30225d2229 @@ -9675,8 +9699,8 @@ trackedFiles: pristine_git_object: f5227a747725a68f1c9b6ebffe42ac0d2436f77f src/textql_sdk/models/__init__.py: id: c8cef98ef3e7 - last_write_checksum: sha1:cca226db2a6b40df60c358ea4a8a4b650d10c822 - pristine_git_object: f8e9f6c1ef27d64fad6288153259decdeae1d372 + last_write_checksum: sha1:3f9052f05e4054de4d0ba4cdd42bd0b4f0ebd76e + pristine_git_object: 30e628404956b04a768ef847a77d25aca4f013fe src/textql_sdk/models/agentservice_createagentop.py: id: c31d4c4b52ae last_write_checksum: sha1:eb9ab95a772110d0f587963a73ff3ab4a6f11859 @@ -10381,6 +10405,10 @@ trackedFiles: id: b15f6d11a15f last_write_checksum: sha1:45cdf64dd7b0d25f19d380922af07768ae00c020 pristine_git_object: 619920b889da25b6f90a495e7e69a9ec88361b55 + src/textql_sdk/models/observabilityservice_getmembersignaltrendop.py: + id: de65de609457 + last_write_checksum: sha1:d4796305872265a07811f1ad29cdf81391e667b8 + pristine_git_object: c613c77d7aa7f9b13770c4a60c29c3f5dd3eaac5 src/textql_sdk/models/observabilityservice_getobservabilitystatsop.py: id: 4e30c0445edb last_write_checksum: sha1:3ebfe3a5fd453c4457ee886c202b70b54c51cdb1 @@ -12551,8 +12579,8 @@ trackedFiles: pristine_git_object: 9f0a5f36aa4d6229d9c9762c1a5a60488e1987cf src/textql_sdk/models/textql_rpc_public_chat_threadwarningtype.py: id: 08ec0800dac0 - last_write_checksum: sha1:aaf2efcc95341b78df6fe2a87841a16e3c26d83e - pristine_git_object: 4da4c010491e7d8161e8a7d2bd996f925219f221 + last_write_checksum: sha1:fcdd6454b7dce9095bf0287fe2c0bf950bd66992 + pristine_git_object: 72ee73669a6084e1fbd0a4b613661376986a5f37 src/textql_sdk/models/textql_rpc_public_chat_unbookmarkchatrequest.py: id: f9d7b184b921 last_write_checksum: sha1:957a9c54bc2ddec767b2c68fa98412681a3dd710 @@ -12567,8 +12595,8 @@ trackedFiles: pristine_git_object: f93fd422c45e48aeb0e20c45871b81c4e43f6401 src/textql_sdk/models/textql_rpc_public_chat_warningcategory.py: id: ac8e072dbd92 - last_write_checksum: sha1:51056cb714a978b277e5cb08abb996f2bd35b8fa - pristine_git_object: 6e211dc24fe7fc0dc1ca766022975cc9996c58c8 + last_write_checksum: sha1:36b55e22b42eb007c2c56e24799206c88081348c + pristine_git_object: 15936c687d03a47c9e637fd7ea8f6a86570b7d18 src/textql_sdk/models/textql_rpc_public_chat_watchchatevent.py: id: fe75e7c74d4c last_write_checksum: sha1:cb5673e8aeca95cb44c94f51b9318cf329fd5497 @@ -13813,6 +13841,14 @@ trackedFiles: id: 79a2e8a2ed28 last_write_checksum: sha1:1acf9f3aa3819841526e5fb8199e788f6ba7a9c1 pristine_git_object: d386eb72655e56ae20492f81738ae660c4f16387 + src/textql_sdk/models/textql_rpc_public_observe_getmembersignaltrendrequest.py: + id: ca3eb33b3f3f + last_write_checksum: sha1:7b1520cec5d887f6937c3a90e79345abd21eeac8 + pristine_git_object: f55bed1b9279d6588d9850ec55a84e45d926f6db + src/textql_sdk/models/textql_rpc_public_observe_getmembersignaltrendresponse.py: + id: 40e4662e9f2d + last_write_checksum: sha1:e67b402f106da50615bd5089b0f31b1d67c5c1e6 + pristine_git_object: 64798c39aca64e81bcc6b1dd40d8778fddf7dcb5 src/textql_sdk/models/textql_rpc_public_observe_getobservabilitystatsrequest.py: id: 838408aedb54 last_write_checksum: sha1:fd49c82ba599c0c567b29c09dab649864acb558d @@ -13843,16 +13879,20 @@ trackedFiles: pristine_git_object: 2595c43a040733015ce02140fcb88bb1d63ccf20 src/textql_sdk/models/textql_rpc_public_observe_memberbillingstat.py: id: 77bce7e735d6 - last_write_checksum: sha1:11764b5fdb23cea8152c8414132ce84e46be69dc - pristine_git_object: 521854e4dcb61dd4f0d547b4d7e8671f67557f0f + last_write_checksum: sha1:bf88b5c2be0c0f00ec7f72af937cc455c48d1005 + pristine_git_object: 6fe62cd16fc68d162f3fccee472ba06c495928ac src/textql_sdk/models/textql_rpc_public_observe_memberchatsourcestat.py: id: 56898bf8dca8 last_write_checksum: sha1:3bc9b6ddf0b848901072e74247b9b7712457d7f6 pristine_git_object: 73431be62f73b0643993b121430270f03c40c214 + src/textql_sdk/models/textql_rpc_public_observe_membersignaltrendpoint.py: + id: bcf9f842a6fa + last_write_checksum: sha1:1bef768542d0b4b0918a754f31726a93ace18f1e + pristine_git_object: 5f11d2a93e0dfd06d0c3dd671a3c57a73fcfdaa2 src/textql_sdk/models/textql_rpc_public_observe_observabilitysummary.py: id: 73ebbd22454b - last_write_checksum: sha1:77117fb430c1ac868eb6bbc041768cd3be38294d - pristine_git_object: b674d5d6e4a84b552d5ab96282c77c5fa0788d7e + last_write_checksum: sha1:04c7a41e3bccac9fb601a54ee0bb36c4ab4e3214 + pristine_git_object: 61cb5464783d8ad2cfe6a931716f9972f575fb66 src/textql_sdk/models/textql_rpc_public_observe_playbookbillingstat.py: id: 5d5c36b6022e last_write_checksum: sha1:83899825c6423b3c8a70da1c7f13ce72e67daea2 @@ -16133,6 +16173,10 @@ trackedFiles: id: 6aa1798287cb last_write_checksum: sha1:b73cde75b228dab67d5999fe0e43a75eb0e7bce1 pristine_git_object: 046668cb9ed83a43cc58b6cdc3e6f2ade4a88492 + src/textql_sdk/observabilityservice.py: + id: be34f7b7b93d + last_write_checksum: sha1:282af6660f09366d7eb55ee438d5884860a643ff + pristine_git_object: 3dccecaefe94519009303d0263406d57dec533d1 src/textql_sdk/ontologymanagementservice.py: id: c1c131469650 last_write_checksum: sha1:ed62a53aea71dab876588b67916d53cf9fca29be @@ -16175,8 +16219,8 @@ trackedFiles: pristine_git_object: 84b5c247459bbce0f409f3bb8721c86fd44717bb src/textql_sdk/sdk.py: id: d88ccb3083ea - last_write_checksum: sha1:012c400045619d3f80b9a8a8c46689dfd6684bcf - pristine_git_object: 47cf9319cf7887d67b295ffbfd7e864d2f45874e + last_write_checksum: sha1:818dd2b3078f58bbd7298f15707eb4b393b3ea81 + pristine_git_object: a911f80bfa4ab07a1466281c0dca05df1e6a514f src/textql_sdk/sdkconfiguration.py: id: 3f40682b0911 last_write_checksum: sha1:ee23059cfa090d26c02cf60bd8ce85c4698b81d5 @@ -26914,5 +26958,17 @@ examples: application/json: {} default: application/json: {"code": "not_found"} + ObservabilityService_GetMemberSignalTrend: + speakeasy-default-observability-service-get-member-signal-trend: + parameters: + header: + Connect-Protocol-Version: 1 + requestBody: + application/json: {} + responses: + "200": + application/json: {} + default: + application/json: {"code": "not_found"} examplesVersion: 1.0.2 -releaseNotes: "## Python SDK Changes:\n* `textql.agents.create()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.agent` **Changed** (Breaking ⚠️)\n* `textql.agents.duplicate()`: `response.agent` **Changed** (Breaking ⚠️)\n* `textql.agents.get_agent()`: `response.agent` **Changed** (Breaking ⚠️)\n* `textql.agents.list()`: `response.agents[]` **Changed** (Breaking ⚠️)\n* `textql.agents.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.agent` **Changed** (Breaking ⚠️)\n* `textql.chats.attach_agent()`: `response.chat` **Changed** (Breaking ⚠️)\n* `textql.chats.attach_app()`: `response.cell.union(feed_create_cell).feed_create_cell.agent` **Changed** (Breaking ⚠️)\n* `textql.chats.attach_dashboard()`: `response.cell.union(feed_create_cell).feed_create_cell.agent` **Changed** (Breaking ⚠️)\n* `textql.chats.attach_dataset()`: `response.cell.union(feed_create_cell).feed_create_cell.agent` **Changed** (Breaking ⚠️)\n* `textql.chats.check_health()`: `request.model` **Changed** (Breaking ⚠️)\n* `textql.chats.check_streamlit_health()`: `response.cell.union(feed_create_cell).feed_create_cell.agent` **Changed** (Breaking ⚠️)\n* `textql.chats.create_chat()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.chat` **Changed** (Breaking ⚠️)\n* `textql.chats.duplicate_chat()`: `response.chat` **Changed** (Breaking ⚠️)\n* `textql.chats.get()`: `response.chat` **Changed** (Breaking ⚠️)\n* `textql.chats.get_history()`: `response.cells[].union(feed_create_cell).feed_create_cell.agent` **Changed** (Breaking ⚠️)\n* `textql.chats.get_all()`: \n * `request.source` **Changed** (Breaking ⚠️)\n * `response.chats[]` **Changed** (Breaking ⚠️)\n* `textql.chats.get_playbook_chats()`: `response.chats[]` **Changed** (Breaking ⚠️)\n* `textql.chats.poll_events()`: `response.events[].union(cell).cell.union(feed_create_cell).feed_create_cell.agent` **Changed** (Breaking ⚠️)\n* `textql.chats.query_one_shot()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.cells[].union(feed_create_cell).feed_create_cell.agent` **Changed** (Breaking ⚠️)\n* `textql.chats.run()`: \n * `request.model` **Changed** (Breaking ⚠️)\n * `response.cells[].union(feed_create_cell).feed_create_cell.agent` **Changed** (Breaking ⚠️)\n* `textql.chats.update()`: `response.chat` **Changed** (Breaking ⚠️)\n* `textql.observability.get_chat_source_stats()`: `response.org_by_source[].source` **Changed** (Breaking ⚠️)\n* `textql.observability.get_check_record_fix()`: `response.fix_patch_cell.union(feed_create_cell).feed_create_cell.agent` **Changed** (Breaking ⚠️)\n* `textql.observability.get_thread_warnings()`: `response.warnings_by_chat.Map.warnings[].fix_patch_cell.union(feed_create_cell).feed_create_cell.agent` **Changed** (Breaking ⚠️)\n* `textql.playbooks.create_playbook()`: `response.playbook` **Changed** (Breaking ⚠️)\n* `textql.playbooks.duplicate()`: `response.playbook` **Changed** (Breaking ⚠️)\n* `textql.playbooks.fetch()`: `response.playbook` **Changed** (Breaking ⚠️)\n* `textql.playbooks.get()`: `response.playbooks[]` **Changed** (Breaking ⚠️)\n* `textql.playbooks.update()`: \n * `request` **Changed** (Breaking ⚠️)\n * `response.playbook` **Changed** (Breaking ⚠️)\n" +releaseNotes: "## Python SDK Changes:\n* `textql.observability_service.observability_service_get_member_signal_trend()`: **Added**\n* `textql.chats.get_all()`: \n * `request.thread_warning_types[]` **Changed**\n* `textql.observability.get_billing_stats()`: `response.member_stats[]` **Changed**\n* `textql.observability.get_observability_stats()`: `response` **Changed**\n* `textql.observability.get_thread_warnings()`: `response.warnings_by_chat.Map.warnings[].warning_type` **Changed**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 2d1b436..879c3c4 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -34,7 +34,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false python: - version: 1.0.3 + version: 1.0.4 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index 0542b81..d4c25a9 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -6421,6 +6421,41 @@ paths: $ref: '#/components/schemas/textql.rpc.public.observe.GetMemberActivityResponse' x-speakeasy-group: observability x-speakeasy-name-override: getMemberActivity + /textql.rpc.public.observe.ObservabilityService/GetMemberSignalTrend: + post: + tags: + - ObservabilityService + summary: GetMemberSignalTrend + operationId: ObservabilityService_GetMemberSignalTrend + parameters: + - name: Connect-Protocol-Version + in: header + required: true + schema: + $ref: '#/components/schemas/connect-protocol-version' + - name: Connect-Timeout-Ms + in: header + schema: + $ref: '#/components/schemas/connect-timeout-header' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/textql.rpc.public.observe.GetMemberSignalTrendRequest' + required: true + responses: + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/connect.error' + "200": + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/textql.rpc.public.observe.GetMemberSignalTrendResponse' /textql.rpc.public.observe.ObservabilityService/GetObservabilityStats: post: tags: @@ -14735,6 +14770,42 @@ paths: $ref: '#/components/schemas/textql.rpc.public.teams.TeamsSyncWorkspaceResponse' x-speakeasy-group: teams x-speakeasy-name-override: syncWorkspace + /v2/chats/{chat_id}/cells/stream: + post: + operationId: ChatService_StreamChat + tags: + - ChatService + parameters: + - name: chat_id + in: path + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/textql.rpc.public.chat.ChatService.StreamChatBody' + required: true + responses: + "200": + description: A successful response.(streaming responses) + content: + application/x-ndjson: + schema: + type: object + properties: + result: + $ref: '#/components/schemas/textql.rpc.public.chat.Cell' + error: + $ref: '#/components/schemas/google.rpc.Status' + title: Stream result of textql.rpc.public.chat.Cell + default: + description: An unexpected error response. + content: + application/x-ndjson: + schema: + $ref: '#/components/schemas/google.rpc.Status' components: schemas: connect-protocol-version: @@ -22354,6 +22425,9 @@ components: - THREAD_WARNING_TYPE_IGNORED_INSTRUCTION - THREAD_WARNING_TYPE_USER_THUMBS_DOWN - THREAD_WARNING_TYPE_NO_CONCLUSION + - THREAD_WARNING_TYPE_USER_THUMBS_UP + - THREAD_WARNING_TYPE_GOAL_ACHIEVED + - THREAD_WARNING_TYPE_USER_SATISFACTION description: ThreadWarningType is the canonical set of thread warning types textql.rpc.public.chat.UnbookmarkChatRequest: type: object @@ -22417,6 +22491,7 @@ components: - WARNING_CATEGORY_CAUSE - WARNING_CATEGORY_SYMPTOM - WARNING_CATEGORY_OUTCOME + - WARNING_CATEGORY_STRENGTH textql.rpc.public.chat.WatchChatEvent: type: object allOf: @@ -28529,6 +28604,25 @@ components: title: members title: GetMemberActivityResponse additionalProperties: false + textql.rpc.public.observe.GetMemberSignalTrendRequest: + type: object + properties: + days: + type: integer + title: days + format: int32 + title: GetMemberSignalTrendRequest + additionalProperties: false + textql.rpc.public.observe.GetMemberSignalTrendResponse: + type: object + properties: + points: + type: array + items: + $ref: '#/components/schemas/textql.rpc.public.observe.MemberSignalTrendPoint' + title: points + title: GetMemberSignalTrendResponse + additionalProperties: false textql.rpc.public.observe.GetObservabilityStatsRequest: type: object properties: @@ -28713,6 +28807,26 @@ components: isFormerMember: type: boolean title: is_former_member + positiveSignalCount: + type: integer + title: positive_signal_count + format: int32 + description: |- + Per-member signal quality over the same window. Signal counts are rows + (one thread can contribute several); flagged/analyzed count distinct + threads, so flagged/analyzed is the per-member flagged rate. + negativeSignalCount: + type: integer + title: negative_signal_count + format: int32 + flaggedThreadCount: + type: integer + title: flagged_thread_count + format: int32 + analyzedThreadCount: + type: integer + title: analyzed_thread_count + format: int32 title: MemberBillingStat additionalProperties: false textql.rpc.public.observe.MemberBillingStat.AcuByCategoryEntry: @@ -28762,6 +28876,34 @@ components: title: by_source title: MemberChatSourceStat additionalProperties: false + textql.rpc.public.observe.MemberSignalTrendPoint: + type: object + properties: + memberId: + type: string + title: member_id + bucketStart: + type: string + title: bucket_start + description: YYYY-MM-DD, week start + positive: + type: integer + title: positive + format: int32 + negative: + type: integer + title: negative + format: int32 + analyzed: + type: integer + title: analyzed + format: int32 + description: distinct analyzed threads in the bucket + title: MemberSignalTrendPoint + additionalProperties: false + description: |- + One (member, week) bucket of signal quality. Weeks with no signals and no + analyzed threads are omitted; the client zero-fills the axis. textql.rpc.public.observe.ObservabilitySummary: type: object properties: @@ -28873,6 +29015,24 @@ components: type: integer format: int32 title: teams_sparkline + totalPositive: + type: integer + title: total_positive + format: int32 + description: |- + Positive signals (strength-category types). total_warnings/warn_rate_pct + above count NEGATIVE signals only — strengths are tracked separately here + and must never inflate the flagged metrics. + positiveDeltaPct: + type: integer + title: positive_delta_pct + format: int32 + positiveSparkline: + type: array + items: + type: integer + format: int32 + title: positive_sparkline title: ObservabilitySummary additionalProperties: false textql.rpc.public.observe.PlaybookBillingStat: @@ -37739,6 +37899,38 @@ components: nullable: true title: TeamsUser additionalProperties: false + google.protobuf.Any: + type: object + properties: + '@type': + type: string + additionalProperties: {} + google.rpc.Status: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + $ref: '#/components/schemas/google.protobuf.Any' + type: object + textql.rpc.public.chat.ChatService.StreamChatBody: + type: object + properties: + latestCompleteCellId: + type: string + research: + type: boolean + model: + $ref: '#/components/schemas/textql.rpc.public.chat.LlmModel' + fastMode: + type: boolean + maxThinking: + type: boolean securitySchemes: apiKey: type: apiKey diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 05e11f1..8b97a80 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,8 +2,8 @@ speakeasyVersion: 1.790.3 sources: TextQL API: sourceNamespace: textql-api - sourceRevisionDigest: sha256:cbc5f0009210532631e24e1b20da594bfb88ba283a63e2572a6c6c69217636bb - sourceBlobDigest: sha256:10fa5335a3b0dec1aea810d04ba667dd4336eeff3c740010fbf4eeb7ed98d4d0 + sourceRevisionDigest: sha256:4670139a5c81225de992f691ed6fbf6b6b9c8aa247bf10a814122d31ee4aa7f9 + sourceBlobDigest: sha256:36f2082198add8377892deccf7b11f316071b020fb93a7d67238d343b2ba09f8 tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: textql: source: TextQL API sourceNamespace: textql-api - sourceRevisionDigest: sha256:cbc5f0009210532631e24e1b20da594bfb88ba283a63e2572a6c6c69217636bb - sourceBlobDigest: sha256:10fa5335a3b0dec1aea810d04ba667dd4336eeff3c740010fbf4eeb7ed98d4d0 + sourceRevisionDigest: sha256:4670139a5c81225de992f691ed6fbf6b6b9c8aa247bf10a814122d31ee4aa7f9 + sourceBlobDigest: sha256:36f2082198add8377892deccf7b11f316071b020fb93a7d67238d343b2ba09f8 codeSamplesNamespace: textql-api-python-code-samples - codeSamplesRevisionDigest: sha256:49148b2fa5a4a14c7570ae5de01a129491b89c733ed816b3a543f9c20abf4093 + codeSamplesRevisionDigest: sha256:a4cb1fefd23216743c990187aa31125abd71546077d42c122db5b566b4c67967 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README-PYPI.md b/README-PYPI.md index baa4852..6216812 100644 --- a/README-PYPI.md +++ b/README-PYPI.md @@ -399,6 +399,10 @@ with Textql( * [set_topic_tag_feedback](https://github.com/TextQLLabs/textql-python-v3/blob/master/docs/sdks/observability/README.md#set_topic_tag_feedback) - SetTopicTagFeedback * [update_custom_topic](https://github.com/TextQLLabs/textql-python-v3/blob/master/docs/sdks/observability/README.md#update_custom_topic) - UpdateCustomTopic +### [ObservabilityService](https://github.com/TextQLLabs/textql-python-v3/blob/master/docs/sdks/observabilityservice/README.md) + +* [observability_service_get_member_signal_trend](https://github.com/TextQLLabs/textql-python-v3/blob/master/docs/sdks/observabilityservice/README.md#observability_service_get_member_signal_trend) - GetMemberSignalTrend + ### [OntologyManagementService](https://github.com/TextQLLabs/textql-python-v3/blob/master/docs/sdks/ontologymanagementservice/README.md) * [ontology_management_service_add_ontology_submodule](https://github.com/TextQLLabs/textql-python-v3/blob/master/docs/sdks/ontologymanagementservice/README.md#ontology_management_service_add_ontology_submodule) - AddOntologySubmodule diff --git a/README.md b/README.md index e7120cc..ed3e455 100644 --- a/README.md +++ b/README.md @@ -399,6 +399,10 @@ with Textql( * [set_topic_tag_feedback](docs/sdks/observability/README.md#set_topic_tag_feedback) - SetTopicTagFeedback * [update_custom_topic](docs/sdks/observability/README.md#update_custom_topic) - UpdateCustomTopic +### [ObservabilityService](docs/sdks/observabilityservice/README.md) + +* [observability_service_get_member_signal_trend](docs/sdks/observabilityservice/README.md#observability_service_get_member_signal_trend) - GetMemberSignalTrend + ### [OntologyManagementService](docs/sdks/ontologymanagementservice/README.md) * [ontology_management_service_add_ontology_submodule](docs/sdks/ontologymanagementservice/README.md#ontology_management_service_add_ontology_submodule) - AddOntologySubmodule diff --git a/RELEASES.md b/RELEASES.md index 9772d0c..b1295a9 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -38,4 +38,14 @@ Based on: ### Generated - [python v1.0.3] . ### Releases -- [PyPI v1.0.3] https://pypi.org/project/textql-sdk/1.0.3 - . \ No newline at end of file +- [PyPI v1.0.3] https://pypi.org/project/textql-sdk/1.0.3 - . + +## 2026-07-21 21:00:56 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.790.3 (2.918.4) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.0.4] . +### Releases +- [PyPI v1.0.4] https://pypi.org/project/textql-sdk/1.0.4 - . \ No newline at end of file diff --git a/docs/models/observabilityservicegetmembersignaltrendrequest.md b/docs/models/observabilityservicegetmembersignaltrendrequest.md new file mode 100644 index 0000000..9b13b6e --- /dev/null +++ b/docs/models/observabilityservicegetmembersignaltrendrequest.md @@ -0,0 +1,10 @@ +# ObservabilityServiceGetMemberSignalTrendRequest + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `connect_protocol_version` | *float* | :heavy_check_mark: | N/A | +| `connect_timeout_ms` | *Optional[float]* | :heavy_minus_sign: | N/A | +| `body` | [models.TextqlRPCPublicObserveGetMemberSignalTrendRequest](../models/textqlrpcpublicobservegetmembersignaltrendrequest.md) | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/observabilityservicegetmembersignaltrendresponse.md b/docs/models/observabilityservicegetmembersignaltrendresponse.md new file mode 100644 index 0000000..f4ea662 --- /dev/null +++ b/docs/models/observabilityservicegetmembersignaltrendresponse.md @@ -0,0 +1,17 @@ +# ObservabilityServiceGetMemberSignalTrendResponse + + +## Supported Types + +### `models.TextqlRPCPublicObserveGetMemberSignalTrendResponse` + +```python +value: models.TextqlRPCPublicObserveGetMemberSignalTrendResponse = /* values here */ +``` + +### `models.ConnectError` + +```python +value: models.ConnectError = /* values here */ +``` + diff --git a/docs/models/textqlrpcpublicchatthreadwarningtype.md b/docs/models/textqlrpcpublicchatthreadwarningtype.md index 062de0b..3eea78e 100644 --- a/docs/models/textqlrpcpublicchatthreadwarningtype.md +++ b/docs/models/textqlrpcpublicchatthreadwarningtype.md @@ -27,3 +27,6 @@ This is an open enum. Unrecognized values will not fail type checks. - `"THREAD_WARNING_TYPE_IGNORED_INSTRUCTION"` - `"THREAD_WARNING_TYPE_USER_THUMBS_DOWN"` - `"THREAD_WARNING_TYPE_NO_CONCLUSION"` +- `"THREAD_WARNING_TYPE_USER_THUMBS_UP"` +- `"THREAD_WARNING_TYPE_GOAL_ACHIEVED"` +- `"THREAD_WARNING_TYPE_USER_SATISFACTION"` diff --git a/docs/models/textqlrpcpublicchatwarningcategory.md b/docs/models/textqlrpcpublicchatwarningcategory.md index 1137ccc..b2e9130 100644 --- a/docs/models/textqlrpcpublicchatwarningcategory.md +++ b/docs/models/textqlrpcpublicchatwarningcategory.md @@ -18,3 +18,4 @@ This is an open enum. Unrecognized values will not fail type checks. - `"WARNING_CATEGORY_CAUSE"` - `"WARNING_CATEGORY_SYMPTOM"` - `"WARNING_CATEGORY_OUTCOME"` +- `"WARNING_CATEGORY_STRENGTH"` diff --git a/docs/models/textqlrpcpublicobservegetmembersignaltrendrequest.md b/docs/models/textqlrpcpublicobservegetmembersignaltrendrequest.md new file mode 100644 index 0000000..c1133ed --- /dev/null +++ b/docs/models/textqlrpcpublicobservegetmembersignaltrendrequest.md @@ -0,0 +1,8 @@ +# TextqlRPCPublicObserveGetMemberSignalTrendRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------ | ------------------ | ------------------ | ------------------ | +| `days` | *Optional[int]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/textqlrpcpublicobservegetmembersignaltrendresponse.md b/docs/models/textqlrpcpublicobservegetmembersignaltrendresponse.md new file mode 100644 index 0000000..a0d6326 --- /dev/null +++ b/docs/models/textqlrpcpublicobservegetmembersignaltrendresponse.md @@ -0,0 +1,8 @@ +# TextqlRPCPublicObserveGetMemberSignalTrendResponse + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `points` | List[[models.TextqlRPCPublicObserveMemberSignalTrendPoint](../models/textqlrpcpublicobservemembersignaltrendpoint.md)] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/textqlrpcpublicobservememberbillingstat.md b/docs/models/textqlrpcpublicobservememberbillingstat.md index 12dfff9..f91d89d 100644 --- a/docs/models/textqlrpcpublicobservememberbillingstat.md +++ b/docs/models/textqlrpcpublicobservememberbillingstat.md @@ -3,17 +3,21 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | -| `member_id` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `member_name` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `email` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `total_acu` | *Optional[float]* | :heavy_minus_sign: | N/A | -| `acu_by_category` | Dict[str, *float*] | :heavy_minus_sign: | llm_tokens, compute_hours, cell_execution | -| `acu_by_source` | Dict[str, *float*] | :heavy_minus_sign: | chat, feed, observability | -| `profile_image_url` | *Optional[str]* | :heavy_minus_sign: | N/A | -| `thread_count` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `playbook_count` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `dashboard_count` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `agent_count` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `is_former_member` | *Optional[bool]* | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `member_id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `member_name` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `email` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `total_acu` | *Optional[float]* | :heavy_minus_sign: | N/A | +| `acu_by_category` | Dict[str, *float*] | :heavy_minus_sign: | llm_tokens, compute_hours, cell_execution | +| `acu_by_source` | Dict[str, *float*] | :heavy_minus_sign: | chat, feed, observability | +| `profile_image_url` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `thread_count` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `playbook_count` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `dashboard_count` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `agent_count` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `is_former_member` | *Optional[bool]* | :heavy_minus_sign: | N/A | +| `positive_signal_count` | *Optional[int]* | :heavy_minus_sign: | Per-member signal quality over the same window. Signal counts are rows
(one thread can contribute several); flagged/analyzed count distinct
threads, so flagged/analyzed is the per-member flagged rate. | +| `negative_signal_count` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `flagged_thread_count` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `analyzed_thread_count` | *Optional[int]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/textqlrpcpublicobservemembersignaltrendpoint.md b/docs/models/textqlrpcpublicobservemembersignaltrendpoint.md new file mode 100644 index 0000000..74b95df --- /dev/null +++ b/docs/models/textqlrpcpublicobservemembersignaltrendpoint.md @@ -0,0 +1,15 @@ +# TextqlRPCPublicObserveMemberSignalTrendPoint + +One (member, week) bucket of signal quality. Weeks with no signals and no + analyzed threads are omitted; the client zero-fills the axis. + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | +| `member_id` | *Optional[str]* | :heavy_minus_sign: | N/A | +| `bucket_start` | *Optional[str]* | :heavy_minus_sign: | YYYY-MM-DD, week start | +| `positive` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `negative` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `analyzed` | *Optional[int]* | :heavy_minus_sign: | distinct analyzed threads in the bucket | \ No newline at end of file diff --git a/docs/models/textqlrpcpublicobserveobservabilitysummary.md b/docs/models/textqlrpcpublicobserveobservabilitysummary.md index 9d9ae48..839a705 100644 --- a/docs/models/textqlrpcpublicobserveobservabilitysummary.md +++ b/docs/models/textqlrpcpublicobserveobservabilitysummary.md @@ -3,27 +3,30 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | -| `total_runs` | *Optional[int]* | :heavy_minus_sign: | Totals | -| `total_threads` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `total_playbooks` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `total_warnings` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `warn_rate_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `runs_delta_pct` | *Optional[int]* | :heavy_minus_sign: | Deltas (percentage change vs previous period) | -| `threads_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `playbooks_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `warnings_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `runs_sparkline` | List[*int*] | :heavy_minus_sign: | Sparklines (14 daily values, oldest first) | -| `threads_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | -| `playbooks_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | -| `warnings_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | -| `total_feed_agents` | *Optional[int]* | :heavy_minus_sign: | Feed agents | -| `feed_agents_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `feed_agents_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | -| `total_slack` | *Optional[int]* | :heavy_minus_sign: | Slack chats | -| `slack_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `slack_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | -| `total_teams` | *Optional[int]* | :heavy_minus_sign: | Teams chats | -| `teams_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | -| `teams_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `total_runs` | *Optional[int]* | :heavy_minus_sign: | Totals | +| `total_threads` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `total_playbooks` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `total_warnings` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `warn_rate_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `runs_delta_pct` | *Optional[int]* | :heavy_minus_sign: | Deltas (percentage change vs previous period) | +| `threads_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `playbooks_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `warnings_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `runs_sparkline` | List[*int*] | :heavy_minus_sign: | Sparklines (14 daily values, oldest first) | +| `threads_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | +| `playbooks_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | +| `warnings_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | +| `total_feed_agents` | *Optional[int]* | :heavy_minus_sign: | Feed agents | +| `feed_agents_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `feed_agents_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | +| `total_slack` | *Optional[int]* | :heavy_minus_sign: | Slack chats | +| `slack_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `slack_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | +| `total_teams` | *Optional[int]* | :heavy_minus_sign: | Teams chats | +| `teams_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `teams_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | +| `total_positive` | *Optional[int]* | :heavy_minus_sign: | Positive signals (strength-category types). total_warnings/warn_rate_pct
above count NEGATIVE signals only — strengths are tracked separately here
and must never inflate the flagged metrics. | +| `positive_delta_pct` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `positive_sparkline` | List[*int*] | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/sdks/observabilityservice/README.md b/docs/sdks/observabilityservice/README.md new file mode 100644 index 0000000..af13150 --- /dev/null +++ b/docs/sdks/observabilityservice/README.md @@ -0,0 +1,48 @@ +# ObservabilityService + +## Overview + +### Available Operations + +* [observability_service_get_member_signal_trend](#observability_service_get_member_signal_trend) - GetMemberSignalTrend + +## observability_service_get_member_signal_trend + +GetMemberSignalTrend + +### Example Usage + + +```python +import os +from textql_sdk import Textql + + +with Textql( + api_key=os.getenv("TEXTQL_API_KEY", ""), +) as textql: + + res = textql.observability_service.observability_service_get_member_signal_trend() + + # Handle response + print(res) + +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| `connect_timeout_ms` | *Optional[float]* | :heavy_minus_sign: | N/A | +| `days` | *Optional[int]* | :heavy_minus_sign: | N/A | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | + +### Response + +**[models.ObservabilityServiceGetMemberSignalTrendResponse](../../models/observabilityservicegetmembersignaltrendresponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| ------------------------- | ------------------------- | ------------------------- | +| errors.TextqlDefaultError | 4XX, 5XX | \*/\* | \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 3082561..d14db9d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "textql-sdk" -version = "1.0.3" +version = "1.0.4" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/src/textql_sdk/_version.py b/src/textql_sdk/_version.py index fb010eb..4f3a413 100644 --- a/src/textql_sdk/_version.py +++ b/src/textql_sdk/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "textql-sdk" -__version__: str = "1.0.3" +__version__: str = "1.0.4" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.918.4" -__user_agent__: str = "speakeasy-sdk/python 1.0.3 2.918.4 1.0.0 textql-sdk" +__user_agent__: str = "speakeasy-sdk/python 1.0.4 2.918.4 1.0.0 textql-sdk" try: if __package__ is not None: diff --git a/src/textql_sdk/models/__init__.py b/src/textql_sdk/models/__init__.py index f8e9f6c..30e6284 100644 --- a/src/textql_sdk/models/__init__.py +++ b/src/textql_sdk/models/__init__.py @@ -1070,6 +1070,12 @@ ObservabilityServiceGetMemberActivityResponse, ObservabilityServiceGetMemberActivityResponseTypedDict, ) + from .observabilityservice_getmembersignaltrendop import ( + ObservabilityServiceGetMemberSignalTrendRequest, + ObservabilityServiceGetMemberSignalTrendRequestTypedDict, + ObservabilityServiceGetMemberSignalTrendResponse, + ObservabilityServiceGetMemberSignalTrendResponseTypedDict, + ) from .observabilityservice_getobservabilitystatsop import ( ObservabilityServiceGetObservabilityStatsRequest, ObservabilityServiceGetObservabilityStatsRequestTypedDict, @@ -5450,6 +5456,14 @@ TextqlRPCPublicObserveGetMemberActivityResponse, TextqlRPCPublicObserveGetMemberActivityResponseTypedDict, ) + from .textql_rpc_public_observe_getmembersignaltrendrequest import ( + TextqlRPCPublicObserveGetMemberSignalTrendRequest, + TextqlRPCPublicObserveGetMemberSignalTrendRequestTypedDict, + ) + from .textql_rpc_public_observe_getmembersignaltrendresponse import ( + TextqlRPCPublicObserveGetMemberSignalTrendResponse, + TextqlRPCPublicObserveGetMemberSignalTrendResponseTypedDict, + ) from .textql_rpc_public_observe_getobservabilitystatsrequest import ( TextqlRPCPublicObserveGetObservabilityStatsRequest, TextqlRPCPublicObserveGetObservabilityStatsRequestTypedDict, @@ -5486,6 +5500,10 @@ TextqlRPCPublicObserveMemberChatSourceStat, TextqlRPCPublicObserveMemberChatSourceStatTypedDict, ) + from .textql_rpc_public_observe_membersignaltrendpoint import ( + TextqlRPCPublicObserveMemberSignalTrendPoint, + TextqlRPCPublicObserveMemberSignalTrendPointTypedDict, + ) from .textql_rpc_public_observe_observabilitysummary import ( TextqlRPCPublicObserveObservabilitySummary, TextqlRPCPublicObserveObservabilitySummaryTypedDict, @@ -8763,6 +8781,10 @@ "ObservabilityServiceGetMemberActivityRequestTypedDict", "ObservabilityServiceGetMemberActivityResponse", "ObservabilityServiceGetMemberActivityResponseTypedDict", + "ObservabilityServiceGetMemberSignalTrendRequest", + "ObservabilityServiceGetMemberSignalTrendRequestTypedDict", + "ObservabilityServiceGetMemberSignalTrendResponse", + "ObservabilityServiceGetMemberSignalTrendResponseTypedDict", "ObservabilityServiceGetObservabilityStatsRequest", "ObservabilityServiceGetObservabilityStatsRequestTypedDict", "ObservabilityServiceGetObservabilityStatsResponse", @@ -11222,6 +11244,10 @@ "TextqlRPCPublicObserveGetMemberActivityRequestTypedDict", "TextqlRPCPublicObserveGetMemberActivityResponse", "TextqlRPCPublicObserveGetMemberActivityResponseTypedDict", + "TextqlRPCPublicObserveGetMemberSignalTrendRequest", + "TextqlRPCPublicObserveGetMemberSignalTrendRequestTypedDict", + "TextqlRPCPublicObserveGetMemberSignalTrendResponse", + "TextqlRPCPublicObserveGetMemberSignalTrendResponseTypedDict", "TextqlRPCPublicObserveGetObservabilityStatsRequest", "TextqlRPCPublicObserveGetObservabilityStatsRequestTypedDict", "TextqlRPCPublicObserveGetObservabilityStatsResponse", @@ -11240,6 +11266,8 @@ "TextqlRPCPublicObserveMemberBillingStatTypedDict", "TextqlRPCPublicObserveMemberChatSourceStat", "TextqlRPCPublicObserveMemberChatSourceStatTypedDict", + "TextqlRPCPublicObserveMemberSignalTrendPoint", + "TextqlRPCPublicObserveMemberSignalTrendPointTypedDict", "TextqlRPCPublicObserveObservabilitySummary", "TextqlRPCPublicObserveObservabilitySummaryTypedDict", "TextqlRPCPublicObservePlaybookBillingStat", @@ -13149,6 +13177,10 @@ "ObservabilityServiceGetMemberActivityRequestTypedDict": ".observabilityservice_getmemberactivityop", "ObservabilityServiceGetMemberActivityResponse": ".observabilityservice_getmemberactivityop", "ObservabilityServiceGetMemberActivityResponseTypedDict": ".observabilityservice_getmemberactivityop", + "ObservabilityServiceGetMemberSignalTrendRequest": ".observabilityservice_getmembersignaltrendop", + "ObservabilityServiceGetMemberSignalTrendRequestTypedDict": ".observabilityservice_getmembersignaltrendop", + "ObservabilityServiceGetMemberSignalTrendResponse": ".observabilityservice_getmembersignaltrendop", + "ObservabilityServiceGetMemberSignalTrendResponseTypedDict": ".observabilityservice_getmembersignaltrendop", "ObservabilityServiceGetObservabilityStatsRequest": ".observabilityservice_getobservabilitystatsop", "ObservabilityServiceGetObservabilityStatsRequestTypedDict": ".observabilityservice_getobservabilitystatsop", "ObservabilityServiceGetObservabilityStatsResponse": ".observabilityservice_getobservabilitystatsop", @@ -15842,6 +15874,10 @@ "TextqlRPCPublicObserveGetMemberActivityRequestTypedDict": ".textql_rpc_public_observe_getmemberactivityrequest", "TextqlRPCPublicObserveGetMemberActivityResponse": ".textql_rpc_public_observe_getmemberactivityresponse", "TextqlRPCPublicObserveGetMemberActivityResponseTypedDict": ".textql_rpc_public_observe_getmemberactivityresponse", + "TextqlRPCPublicObserveGetMemberSignalTrendRequest": ".textql_rpc_public_observe_getmembersignaltrendrequest", + "TextqlRPCPublicObserveGetMemberSignalTrendRequestTypedDict": ".textql_rpc_public_observe_getmembersignaltrendrequest", + "TextqlRPCPublicObserveGetMemberSignalTrendResponse": ".textql_rpc_public_observe_getmembersignaltrendresponse", + "TextqlRPCPublicObserveGetMemberSignalTrendResponseTypedDict": ".textql_rpc_public_observe_getmembersignaltrendresponse", "TextqlRPCPublicObserveGetObservabilityStatsRequest": ".textql_rpc_public_observe_getobservabilitystatsrequest", "TextqlRPCPublicObserveGetObservabilityStatsRequestTypedDict": ".textql_rpc_public_observe_getobservabilitystatsrequest", "TextqlRPCPublicObserveGetObservabilityStatsResponse": ".textql_rpc_public_observe_getobservabilitystatsresponse", @@ -15860,6 +15896,8 @@ "TextqlRPCPublicObserveMemberBillingStatTypedDict": ".textql_rpc_public_observe_memberbillingstat", "TextqlRPCPublicObserveMemberChatSourceStat": ".textql_rpc_public_observe_memberchatsourcestat", "TextqlRPCPublicObserveMemberChatSourceStatTypedDict": ".textql_rpc_public_observe_memberchatsourcestat", + "TextqlRPCPublicObserveMemberSignalTrendPoint": ".textql_rpc_public_observe_membersignaltrendpoint", + "TextqlRPCPublicObserveMemberSignalTrendPointTypedDict": ".textql_rpc_public_observe_membersignaltrendpoint", "TextqlRPCPublicObserveObservabilitySummary": ".textql_rpc_public_observe_observabilitysummary", "TextqlRPCPublicObserveObservabilitySummaryTypedDict": ".textql_rpc_public_observe_observabilitysummary", "TextqlRPCPublicObservePlaybookBillingStat": ".textql_rpc_public_observe_playbookbillingstat", diff --git a/src/textql_sdk/models/observabilityservice_getmembersignaltrendop.py b/src/textql_sdk/models/observabilityservice_getmembersignaltrendop.py new file mode 100644 index 0000000..c613c77 --- /dev/null +++ b/src/textql_sdk/models/observabilityservice_getmembersignaltrendop.py @@ -0,0 +1,86 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .connect_error import ConnectError, ConnectErrorTypedDict +from .textql_rpc_public_observe_getmembersignaltrendrequest import ( + TextqlRPCPublicObserveGetMemberSignalTrendRequest, + TextqlRPCPublicObserveGetMemberSignalTrendRequestTypedDict, +) +from .textql_rpc_public_observe_getmembersignaltrendresponse import ( + TextqlRPCPublicObserveGetMemberSignalTrendResponse, + TextqlRPCPublicObserveGetMemberSignalTrendResponseTypedDict, +) +import pydantic +from pydantic import model_serializer +from pydantic.functional_validators import AfterValidator +from textql_sdk.types import BaseModel, UNSET_SENTINEL +from textql_sdk.utils import ( + FieldMetadata, + HeaderMetadata, + RequestMetadata, + validate_const, +) +from typing import Optional, Union +from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict + + +class ObservabilityServiceGetMemberSignalTrendRequestTypedDict(TypedDict): + body: TextqlRPCPublicObserveGetMemberSignalTrendRequestTypedDict + connect_protocol_version: float + connect_timeout_ms: NotRequired[float] + + +class ObservabilityServiceGetMemberSignalTrendRequest(BaseModel): + body: Annotated[ + TextqlRPCPublicObserveGetMemberSignalTrendRequest, + FieldMetadata(request=RequestMetadata(media_type="application/json")), + ] + + connect_protocol_version: Annotated[ + Annotated[float, AfterValidator(validate_const(1))], + pydantic.Field(alias="Connect-Protocol-Version"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = 1 + + connect_timeout_ms: Annotated[ + Optional[float], + pydantic.Field(alias="Connect-Timeout-Ms"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["Connect-Timeout-Ms"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +ObservabilityServiceGetMemberSignalTrendResponseTypedDict = TypeAliasType( + "ObservabilityServiceGetMemberSignalTrendResponseTypedDict", + Union[ + TextqlRPCPublicObserveGetMemberSignalTrendResponseTypedDict, + ConnectErrorTypedDict, + ], +) + + +ObservabilityServiceGetMemberSignalTrendResponse = TypeAliasType( + "ObservabilityServiceGetMemberSignalTrendResponse", + Union[TextqlRPCPublicObserveGetMemberSignalTrendResponse, ConnectError], +) + + +try: + ObservabilityServiceGetMemberSignalTrendRequest.model_rebuild() +except NameError: + pass diff --git a/src/textql_sdk/models/textql_rpc_public_chat_threadwarningtype.py b/src/textql_sdk/models/textql_rpc_public_chat_threadwarningtype.py index 4da4c01..72ee736 100644 --- a/src/textql_sdk/models/textql_rpc_public_chat_threadwarningtype.py +++ b/src/textql_sdk/models/textql_rpc_public_chat_threadwarningtype.py @@ -18,6 +18,9 @@ "THREAD_WARNING_TYPE_IGNORED_INSTRUCTION", "THREAD_WARNING_TYPE_USER_THUMBS_DOWN", "THREAD_WARNING_TYPE_NO_CONCLUSION", + "THREAD_WARNING_TYPE_USER_THUMBS_UP", + "THREAD_WARNING_TYPE_GOAL_ACHIEVED", + "THREAD_WARNING_TYPE_USER_SATISFACTION", ], UnrecognizedStr, ] diff --git a/src/textql_sdk/models/textql_rpc_public_chat_warningcategory.py b/src/textql_sdk/models/textql_rpc_public_chat_warningcategory.py index 6e211dc..15936c6 100644 --- a/src/textql_sdk/models/textql_rpc_public_chat_warningcategory.py +++ b/src/textql_sdk/models/textql_rpc_public_chat_warningcategory.py @@ -11,6 +11,7 @@ "WARNING_CATEGORY_CAUSE", "WARNING_CATEGORY_SYMPTOM", "WARNING_CATEGORY_OUTCOME", + "WARNING_CATEGORY_STRENGTH", ], UnrecognizedStr, ] diff --git a/src/textql_sdk/models/textql_rpc_public_observe_getmembersignaltrendrequest.py b/src/textql_sdk/models/textql_rpc_public_observe_getmembersignaltrendrequest.py new file mode 100644 index 0000000..f55bed1 --- /dev/null +++ b/src/textql_sdk/models/textql_rpc_public_observe_getmembersignaltrendrequest.py @@ -0,0 +1,31 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from pydantic import model_serializer +from textql_sdk.types import BaseModel, UNSET_SENTINEL +from typing import Optional +from typing_extensions import NotRequired, TypedDict + + +class TextqlRPCPublicObserveGetMemberSignalTrendRequestTypedDict(TypedDict): + days: NotRequired[int] + + +class TextqlRPCPublicObserveGetMemberSignalTrendRequest(BaseModel): + days: Optional[int] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["days"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/src/textql_sdk/models/textql_rpc_public_observe_getmembersignaltrendresponse.py b/src/textql_sdk/models/textql_rpc_public_observe_getmembersignaltrendresponse.py new file mode 100644 index 0000000..64798c3 --- /dev/null +++ b/src/textql_sdk/models/textql_rpc_public_observe_getmembersignaltrendresponse.py @@ -0,0 +1,35 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .textql_rpc_public_observe_membersignaltrendpoint import ( + TextqlRPCPublicObserveMemberSignalTrendPoint, + TextqlRPCPublicObserveMemberSignalTrendPointTypedDict, +) +from pydantic import model_serializer +from textql_sdk.types import BaseModel, UNSET_SENTINEL +from typing import List, Optional +from typing_extensions import NotRequired, TypedDict + + +class TextqlRPCPublicObserveGetMemberSignalTrendResponseTypedDict(TypedDict): + points: NotRequired[List[TextqlRPCPublicObserveMemberSignalTrendPointTypedDict]] + + +class TextqlRPCPublicObserveGetMemberSignalTrendResponse(BaseModel): + points: Optional[List[TextqlRPCPublicObserveMemberSignalTrendPoint]] = None + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set(["points"]) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m diff --git a/src/textql_sdk/models/textql_rpc_public_observe_memberbillingstat.py b/src/textql_sdk/models/textql_rpc_public_observe_memberbillingstat.py index 521854e..6fe62cd 100644 --- a/src/textql_sdk/models/textql_rpc_public_observe_memberbillingstat.py +++ b/src/textql_sdk/models/textql_rpc_public_observe_memberbillingstat.py @@ -23,6 +23,14 @@ class TextqlRPCPublicObserveMemberBillingStatTypedDict(TypedDict): dashboard_count: NotRequired[int] agent_count: NotRequired[int] is_former_member: NotRequired[bool] + positive_signal_count: NotRequired[int] + r"""Per-member signal quality over the same window. Signal counts are rows + (one thread can contribute several); flagged/analyzed count distinct + threads, so flagged/analyzed is the per-member flagged rate. + """ + negative_signal_count: NotRequired[int] + flagged_thread_count: NotRequired[int] + analyzed_thread_count: NotRequired[int] class TextqlRPCPublicObserveMemberBillingStat(BaseModel): @@ -64,6 +72,26 @@ class TextqlRPCPublicObserveMemberBillingStat(BaseModel): Optional[bool], pydantic.Field(alias="isFormerMember") ] = None + positive_signal_count: Annotated[ + Optional[int], pydantic.Field(alias="positiveSignalCount") + ] = None + r"""Per-member signal quality over the same window. Signal counts are rows + (one thread can contribute several); flagged/analyzed count distinct + threads, so flagged/analyzed is the per-member flagged rate. + """ + + negative_signal_count: Annotated[ + Optional[int], pydantic.Field(alias="negativeSignalCount") + ] = None + + flagged_thread_count: Annotated[ + Optional[int], pydantic.Field(alias="flaggedThreadCount") + ] = None + + analyzed_thread_count: Annotated[ + Optional[int], pydantic.Field(alias="analyzedThreadCount") + ] = None + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -80,6 +108,10 @@ def serialize_model(self, handler): "dashboardCount", "agentCount", "isFormerMember", + "positiveSignalCount", + "negativeSignalCount", + "flaggedThreadCount", + "analyzedThreadCount", ] ) serialized = handler(self) diff --git a/src/textql_sdk/models/textql_rpc_public_observe_membersignaltrendpoint.py b/src/textql_sdk/models/textql_rpc_public_observe_membersignaltrendpoint.py new file mode 100644 index 0000000..5f11d2a --- /dev/null +++ b/src/textql_sdk/models/textql_rpc_public_observe_membersignaltrendpoint.py @@ -0,0 +1,64 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +import pydantic +from pydantic import model_serializer +from textql_sdk.types import BaseModel, UNSET_SENTINEL +from typing import Optional +from typing_extensions import Annotated, NotRequired, TypedDict + + +class TextqlRPCPublicObserveMemberSignalTrendPointTypedDict(TypedDict): + r"""One (member, week) bucket of signal quality. Weeks with no signals and no + analyzed threads are omitted; the client zero-fills the axis. + """ + + member_id: NotRequired[str] + bucket_start: NotRequired[str] + r"""YYYY-MM-DD, week start""" + positive: NotRequired[int] + negative: NotRequired[int] + analyzed: NotRequired[int] + r"""distinct analyzed threads in the bucket""" + + +class TextqlRPCPublicObserveMemberSignalTrendPoint(BaseModel): + r"""One (member, week) bucket of signal quality. Weeks with no signals and no + analyzed threads are omitted; the client zero-fills the axis. + """ + + member_id: Annotated[Optional[str], pydantic.Field(alias="memberId")] = None + + bucket_start: Annotated[Optional[str], pydantic.Field(alias="bucketStart")] = None + r"""YYYY-MM-DD, week start""" + + positive: Optional[int] = None + + negative: Optional[int] = None + + analyzed: Optional[int] = None + r"""distinct analyzed threads in the bucket""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + ["memberId", "bucketStart", "positive", "negative", "analyzed"] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + + if val != UNSET_SENTINEL: + if val is not None or k not in optional_fields: + m[k] = val + + return m + + +try: + TextqlRPCPublicObserveMemberSignalTrendPoint.model_rebuild() +except NameError: + pass diff --git a/src/textql_sdk/models/textql_rpc_public_observe_observabilitysummary.py b/src/textql_sdk/models/textql_rpc_public_observe_observabilitysummary.py index b674d5d..61cb546 100644 --- a/src/textql_sdk/models/textql_rpc_public_observe_observabilitysummary.py +++ b/src/textql_sdk/models/textql_rpc_public_observe_observabilitysummary.py @@ -37,6 +37,13 @@ class TextqlRPCPublicObserveObservabilitySummaryTypedDict(TypedDict): r"""Teams chats""" teams_delta_pct: NotRequired[int] teams_sparkline: NotRequired[List[int]] + total_positive: NotRequired[int] + r"""Positive signals (strength-category types). total_warnings/warn_rate_pct + above count NEGATIVE signals only — strengths are tracked separately here + and must never inflate the flagged metrics. + """ + positive_delta_pct: NotRequired[int] + positive_sparkline: NotRequired[List[int]] class TextqlRPCPublicObserveObservabilitySummary(BaseModel): @@ -124,6 +131,22 @@ class TextqlRPCPublicObserveObservabilitySummary(BaseModel): Optional[List[int]], pydantic.Field(alias="teamsSparkline") ] = None + total_positive: Annotated[Optional[int], pydantic.Field(alias="totalPositive")] = ( + None + ) + r"""Positive signals (strength-category types). total_warnings/warn_rate_pct + above count NEGATIVE signals only — strengths are tracked separately here + and must never inflate the flagged metrics. + """ + + positive_delta_pct: Annotated[ + Optional[int], pydantic.Field(alias="positiveDeltaPct") + ] = None + + positive_sparkline: Annotated[ + Optional[List[int]], pydantic.Field(alias="positiveSparkline") + ] = None + @model_serializer(mode="wrap") def serialize_model(self, handler): optional_fields = set( @@ -150,6 +173,9 @@ def serialize_model(self, handler): "totalTeams", "teamsDeltaPct", "teamsSparkline", + "totalPositive", + "positiveDeltaPct", + "positiveSparkline", ] ) serialized = handler(self) diff --git a/src/textql_sdk/observabilityservice.py b/src/textql_sdk/observabilityservice.py new file mode 100644 index 0000000..3dcceca --- /dev/null +++ b/src/textql_sdk/observabilityservice.py @@ -0,0 +1,219 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from .basesdk import BaseSDK +from textql_sdk import errors, models, utils +from textql_sdk._hooks import HookContext +from textql_sdk.types import OptionalNullable, UNSET +from textql_sdk.utils import get_security_from_env +from textql_sdk.utils.unmarshal_json_response import unmarshal_json_response +from typing import Mapping, Optional + + +class ObservabilityService(BaseSDK): + def observability_service_get_member_signal_trend( + self, + *, + connect_timeout_ms: Optional[float] = None, + days: Optional[int] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ObservabilityServiceGetMemberSignalTrendResponse: + r"""GetMemberSignalTrend + + :param connect_timeout_ms: + :param days: + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.ObservabilityServiceGetMemberSignalTrendRequest( + connect_timeout_ms=connect_timeout_ms, + body=models.TextqlRPCPublicObserveGetMemberSignalTrendRequest( + days=days, + ), + ) + + req = self._build_request( + method="POST", + path="/textql.rpc.public.observe.ObservabilityService/GetMemberSignalTrend", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.body, + False, + False, + "json", + models.TextqlRPCPublicObserveGetMemberSignalTrendRequest, + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["429", "500", "502", "503", "504"]) + + http_res = self.do_request( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="ObservabilityService_GetMemberSignalTrend", + oauth2_scopes=None, + security_source=get_security_from_env( + self.sdk_configuration.security, models.Security + ), + tags=["ObservabilityService"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response( + models.TextqlRPCPublicObserveGetMemberSignalTrendResponse, http_res + ) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise errors.TextqlDefaultError( + "API error occurred", http_res, http_res_text + ) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = utils.stream_to_text(http_res) + raise errors.TextqlDefaultError( + "API error occurred", http_res, http_res_text + ) + if utils.match_response(http_res, "default", "application/json"): + return unmarshal_json_response(models.ConnectError, http_res) + + raise errors.TextqlDefaultError("Unexpected response received", http_res) + + async def observability_service_get_member_signal_trend_async( + self, + *, + connect_timeout_ms: Optional[float] = None, + days: Optional[int] = None, + retries: OptionalNullable[utils.RetryConfig] = UNSET, + server_url: Optional[str] = None, + timeout_ms: Optional[int] = None, + http_headers: Optional[Mapping[str, str]] = None, + ) -> models.ObservabilityServiceGetMemberSignalTrendResponse: + r"""GetMemberSignalTrend + + :param connect_timeout_ms: + :param days: + :param retries: Override the default retry configuration for this method + :param server_url: Override the default server URL for this method + :param timeout_ms: Override the default request timeout configuration for this method in milliseconds + :param http_headers: Additional headers to set or replace on requests. + """ + base_url = None + url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.timeout_ms + + if server_url is not None: + base_url = server_url + else: + base_url = self._get_url(base_url, url_variables) + + request = models.ObservabilityServiceGetMemberSignalTrendRequest( + connect_timeout_ms=connect_timeout_ms, + body=models.TextqlRPCPublicObserveGetMemberSignalTrendRequest( + days=days, + ), + ) + + req = self._build_request_async( + method="POST", + path="/textql.rpc.public.observe.ObservabilityService/GetMemberSignalTrend", + base_url=base_url, + url_variables=url_variables, + request=request, + request_body_required=True, + request_has_path_params=False, + request_has_query_params=True, + user_agent_header="user-agent", + accept_header_value="application/json", + http_headers=http_headers, + security=self.sdk_configuration.security, + get_serialized_body=lambda: utils.serialize_request_body( + request.body, + False, + False, + "json", + models.TextqlRPCPublicObserveGetMemberSignalTrendRequest, + ), + allow_empty_value=None, + timeout_ms=timeout_ms, + ) + + if retries == UNSET: + if self.sdk_configuration.retry_config is not UNSET: + retries = self.sdk_configuration.retry_config + + retry_config = None + if isinstance(retries, utils.RetryConfig): + retry_config = (retries, ["429", "500", "502", "503", "504"]) + + http_res = await self.do_request_async( + hook_ctx=HookContext( + config=self.sdk_configuration, + base_url=base_url or "", + operation_id="ObservabilityService_GetMemberSignalTrend", + oauth2_scopes=None, + security_source=get_security_from_env( + self.sdk_configuration.security, models.Security + ), + tags=["ObservabilityService"], + extensions=None, + ), + request=req, + is_error_status_code=lambda c: utils.match_status_codes(["4XX", "5XX"], c), + retry_config=retry_config, + ) + + if utils.match_response(http_res, "200", "application/json"): + return unmarshal_json_response( + models.TextqlRPCPublicObserveGetMemberSignalTrendResponse, http_res + ) + if utils.match_response(http_res, "4XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise errors.TextqlDefaultError( + "API error occurred", http_res, http_res_text + ) + if utils.match_response(http_res, "5XX", "*"): + http_res_text = await utils.stream_to_text_async(http_res) + raise errors.TextqlDefaultError( + "API error occurred", http_res, http_res_text + ) + if utils.match_response(http_res, "default", "application/json"): + return unmarshal_json_response(models.ConnectError, http_res) + + raise errors.TextqlDefaultError("Unexpected response received", http_res) diff --git a/src/textql_sdk/sdk.py b/src/textql_sdk/sdk.py index 47cf931..a911f80 100644 --- a/src/textql_sdk/sdk.py +++ b/src/textql_sdk/sdk.py @@ -26,6 +26,7 @@ from textql_sdk.mcp import Mcp from textql_sdk.metricsexports import MetricsExports from textql_sdk.observability import Observability + from textql_sdk.observabilityservice import ObservabilityService from textql_sdk.ontologymanagementservice import OntologyManagementService from textql_sdk.playbooks import Playbooks from textql_sdk.powerbi_sdk import PowerbiSDK @@ -62,6 +63,7 @@ class Textql(BaseSDK): mcp: "Mcp" metrics_exports: "MetricsExports" observability: "Observability" + observability_service: "ObservabilityService" ontology_management_service: "OntologyManagementService" playbooks: "Playbooks" powerbi: "PowerbiSDK" @@ -88,6 +90,10 @@ class Textql(BaseSDK): "mcp": ("textql_sdk.mcp", "Mcp"), "metrics_exports": ("textql_sdk.metricsexports", "MetricsExports"), "observability": ("textql_sdk.observability", "Observability"), + "observability_service": ( + "textql_sdk.observabilityservice", + "ObservabilityService", + ), "ontology_management_service": ( "textql_sdk.ontologymanagementservice", "OntologyManagementService", diff --git a/uv.lock b/uv.lock index b0d2210..51a1041 100644 --- a/uv.lock +++ b/uv.lock @@ -377,7 +377,7 @@ wheels = [ [[package]] name = "textql-sdk" -version = "1.0.3" +version = "1.0.4" source = { editable = "." } dependencies = [ { name = "httpcore" },