diff --git a/deepgram/clients/agent/v1/websocket/options.py b/deepgram/clients/agent/v1/websocket/options.py index 60e45725..40fedcf0 100644 --- a/deepgram/clients/agent/v1/websocket/options.py +++ b/deepgram/clients/agent/v1/websocket/options.py @@ -271,6 +271,9 @@ class Agent(BaseResponse): greeting: Optional[str] = field( default=None, metadata=dataclass_config(exclude=lambda f: f is None) ) + mip_opt_out: Optional[bool] = field( + default=False, metadata=dataclass_config(exclude=lambda f: f is None) + ) def __post_init__(self): """Handle conversion of dict/list data to proper Speak objects""" diff --git a/tests/response_data/listen/rest/a231370d439312b1a404bb6ad8de955e900ec8eae9a906329af8cc672e6ec7ba-29e7c8100617f70da4ae9da1921cb5071a01219f4780ca70930b0a370ed2163a-response.json b/tests/response_data/listen/rest/a231370d439312b1a404bb6ad8de955e900ec8eae9a906329af8cc672e6ec7ba-29e7c8100617f70da4ae9da1921cb5071a01219f4780ca70930b0a370ed2163a-response.json index c392a97c..7568b080 100644 --- a/tests/response_data/listen/rest/a231370d439312b1a404bb6ad8de955e900ec8eae9a906329af8cc672e6ec7ba-29e7c8100617f70da4ae9da1921cb5071a01219f4780ca70930b0a370ed2163a-response.json +++ b/tests/response_data/listen/rest/a231370d439312b1a404bb6ad8de955e900ec8eae9a906329af8cc672e6ec7ba-29e7c8100617f70da4ae9da1921cb5071a01219f4780ca70930b0a370ed2163a-response.json @@ -1 +1 @@ -{"metadata": {"transaction_key": "deprecated", "request_id": "b8631296-99ec-4279-b619-875c9dc671b2", "sha256": "5324da68ede209a16ac69a38e8cd29cee4d754434a041166cda3a1f5e0b24566", "created": "2025-07-17T15:22:07.411Z", "duration": 17.566313, "channels": 1, "models": ["3b3aabe4-608a-46ac-9585-7960a25daf1a"], "model_info": {"3b3aabe4-608a-46ac-9585-7960a25daf1a": {"name": "general-nova-3", "version": "2024-12-20.0", "arch": "nova-3"}}, "summary_info": {"model_uuid": "67875a7f-c9c4-48a0-aa55-5bdb8a91c34a", "input_tokens": 0, "output_tokens": 0}}, "results": {"channels": [{"alternatives": [{"transcript": "Yep. I said it before, and I'll say it again. Life moves pretty fast. You don't stop and look around once in a while, you could miss it.", "confidence": 0.999143, "words": [{"word": "yep", "start": 5.52, "end": 6.2400002, "confidence": 0.92342806, "punctuated_word": "Yep."}, {"word": "i", "start": 6.96, "end": 7.2799997, "confidence": 0.57757515, "punctuated_word": "I"}, {"word": "said", "start": 7.2799997, "end": 7.52, "confidence": 0.9052356, "punctuated_word": "said"}, {"word": "it", "start": 7.52, "end": 7.68, "confidence": 0.99797314, "punctuated_word": "it"}, {"word": "before", "start": 7.68, "end": 8.08, "confidence": 0.8933872, "punctuated_word": "before,"}, {"word": "and", "start": 8.08, "end": 8.16, "confidence": 0.99981827, "punctuated_word": "and"}, {"word": "i'll", "start": 8.16, "end": 8.4, "confidence": 0.99961716, "punctuated_word": "I'll"}, {"word": "say", "start": 8.4, "end": 8.48, "confidence": 0.99941766, "punctuated_word": "say"}, {"word": "it", "start": 8.48, "end": 8.639999, "confidence": 0.999597, "punctuated_word": "it"}, {"word": "again", "start": 8.639999, "end": 8.96, "confidence": 0.9528253, "punctuated_word": "again."}, {"word": "life", "start": 10.071313, "end": 10.311313, "confidence": 0.9990013, "punctuated_word": "Life"}, {"word": "moves", "start": 10.311313, "end": 10.631312, "confidence": 0.9996643, "punctuated_word": "moves"}, {"word": "pretty", "start": 10.631312, "end": 11.031313, "confidence": 0.99988604, "punctuated_word": "pretty"}, {"word": "fast", "start": 11.031313, "end": 11.671312, "confidence": 0.9989686, "punctuated_word": "fast."}, {"word": "you", "start": 12.071312, "end": 12.311313, "confidence": 0.92013294, "punctuated_word": "You"}, {"word": "don't", "start": 12.311313, "end": 12.551312, "confidence": 0.99986017, "punctuated_word": "don't"}, {"word": "stop", "start": 12.551312, "end": 12.791312, "confidence": 0.99976414, "punctuated_word": "stop"}, {"word": "and", "start": 12.791312, "end": 12.951312, "confidence": 0.99852246, "punctuated_word": "and"}, {"word": "look", "start": 12.951312, "end": 13.111313, "confidence": 0.9998677, "punctuated_word": "look"}, {"word": "around", "start": 13.111313, "end": 13.351313, "confidence": 0.9998548, "punctuated_word": "around"}, {"word": "once", "start": 13.351313, "end": 13.671312, "confidence": 0.999143, "punctuated_word": "once"}, {"word": "in", "start": 13.671312, "end": 13.831312, "confidence": 0.9976291, "punctuated_word": "in"}, {"word": "a", "start": 13.831312, "end": 13.911312, "confidence": 0.98508644, "punctuated_word": "a"}, {"word": "while", "start": 13.911312, "end": 14.391312, "confidence": 0.9349461, "punctuated_word": "while,"}, {"word": "you", "start": 14.711312, "end": 14.871312, "confidence": 0.99921596, "punctuated_word": "you"}, {"word": "could", "start": 14.871312, "end": 15.031313, "confidence": 0.99974436, "punctuated_word": "could"}, {"word": "miss", "start": 15.031313, "end": 15.271313, "confidence": 0.9997112, "punctuated_word": "miss"}, {"word": "it", "start": 15.271313, "end": 15.5113125, "confidence": 0.99891484, "punctuated_word": "it."}], "paragraphs": {"transcript": "\nYep. I said it before, and I'll say it again. Life moves pretty fast. You don't stop and look around once in a while, you could miss it.", "paragraphs": [{"sentences": [{"text": "Yep.", "start": 5.52, "end": 6.2400002}, {"text": "I said it before, and I'll say it again.", "start": 6.96, "end": 8.96}, {"text": "Life moves pretty fast.", "start": 10.071313, "end": 11.671312}, {"text": "You don't stop and look around once in a while, you could miss it.", "start": 12.071312, "end": 15.5113125}], "start": 5.52, "end": 15.5113125, "num_words": 28}]}}]}], "summary": {"result": "success", "short": "Yep. I said it before, and I'll say it again. Life moves pretty fast. You don't stop and look around once in a while, you could miss it."}}} \ No newline at end of file +{"metadata": {"transaction_key": "deprecated", "request_id": "1b788861-e937-4b4d-b820-8fb4f86ae6f7", "sha256": "5324da68ede209a16ac69a38e8cd29cee4d754434a041166cda3a1f5e0b24566", "created": "2025-07-18T22:54:03.968Z", "duration": 17.566313, "channels": 1, "models": ["3b3aabe4-608a-46ac-9585-7960a25daf1a"], "model_info": {"3b3aabe4-608a-46ac-9585-7960a25daf1a": {"name": "general-nova-3", "version": "2024-12-20.0", "arch": "nova-3"}}, "summary_info": {"model_uuid": "67875a7f-c9c4-48a0-aa55-5bdb8a91c34a", "input_tokens": 0, "output_tokens": 0}}, "results": {"channels": [{"alternatives": [{"transcript": "Yep. I said it before, and I'll say it again. Life moves pretty fast. You don't stop and look around once in a while, you could miss it.", "confidence": 0.99914277, "words": [{"word": "yep", "start": 5.52, "end": 6.2400002, "confidence": 0.92339367, "punctuated_word": "Yep."}, {"word": "i", "start": 6.96, "end": 7.2799997, "confidence": 0.5775679, "punctuated_word": "I"}, {"word": "said", "start": 7.2799997, "end": 7.52, "confidence": 0.905148, "punctuated_word": "said"}, {"word": "it", "start": 7.52, "end": 7.68, "confidence": 0.9979728, "punctuated_word": "it"}, {"word": "before", "start": 7.68, "end": 8.08, "confidence": 0.89340186, "punctuated_word": "before,"}, {"word": "and", "start": 8.08, "end": 8.16, "confidence": 0.99981827, "punctuated_word": "and"}, {"word": "i'll", "start": 8.16, "end": 8.4, "confidence": 0.9996171, "punctuated_word": "I'll"}, {"word": "say", "start": 8.4, "end": 8.48, "confidence": 0.99941766, "punctuated_word": "say"}, {"word": "it", "start": 8.48, "end": 8.639999, "confidence": 0.9995969, "punctuated_word": "it"}, {"word": "again", "start": 8.639999, "end": 8.96, "confidence": 0.95281684, "punctuated_word": "again."}, {"word": "life", "start": 10.071313, "end": 10.311313, "confidence": 0.99900085, "punctuated_word": "Life"}, {"word": "moves", "start": 10.311313, "end": 10.631312, "confidence": 0.9996644, "punctuated_word": "moves"}, {"word": "pretty", "start": 10.631312, "end": 11.031313, "confidence": 0.99988604, "punctuated_word": "pretty"}, {"word": "fast", "start": 11.031313, "end": 11.671312, "confidence": 0.99896824, "punctuated_word": "fast."}, {"word": "you", "start": 12.071312, "end": 12.311313, "confidence": 0.9201969, "punctuated_word": "You"}, {"word": "don't", "start": 12.311313, "end": 12.551312, "confidence": 0.99986005, "punctuated_word": "don't"}, {"word": "stop", "start": 12.551312, "end": 12.791312, "confidence": 0.99976414, "punctuated_word": "stop"}, {"word": "and", "start": 12.791312, "end": 12.951312, "confidence": 0.99852175, "punctuated_word": "and"}, {"word": "look", "start": 12.951312, "end": 13.111313, "confidence": 0.9998677, "punctuated_word": "look"}, {"word": "around", "start": 13.111313, "end": 13.351313, "confidence": 0.9998548, "punctuated_word": "around"}, {"word": "once", "start": 13.351313, "end": 13.671312, "confidence": 0.99914277, "punctuated_word": "once"}, {"word": "in", "start": 13.671312, "end": 13.831312, "confidence": 0.9976291, "punctuated_word": "in"}, {"word": "a", "start": 13.831312, "end": 13.911312, "confidence": 0.98508126, "punctuated_word": "a"}, {"word": "while", "start": 13.911312, "end": 14.391312, "confidence": 0.9348942, "punctuated_word": "while,"}, {"word": "you", "start": 14.711312, "end": 14.871312, "confidence": 0.9992155, "punctuated_word": "you"}, {"word": "could", "start": 14.871312, "end": 15.031313, "confidence": 0.99974424, "punctuated_word": "could"}, {"word": "miss", "start": 15.031313, "end": 15.271313, "confidence": 0.9997111, "punctuated_word": "miss"}, {"word": "it", "start": 15.271313, "end": 15.5113125, "confidence": 0.99891484, "punctuated_word": "it."}], "paragraphs": {"transcript": "\nYep. I said it before, and I'll say it again. Life moves pretty fast. You don't stop and look around once in a while, you could miss it.", "paragraphs": [{"sentences": [{"text": "Yep.", "start": 5.52, "end": 6.2400002}, {"text": "I said it before, and I'll say it again.", "start": 6.96, "end": 8.96}, {"text": "Life moves pretty fast.", "start": 10.071313, "end": 11.671312}, {"text": "You don't stop and look around once in a while, you could miss it.", "start": 12.071312, "end": 15.5113125}], "start": 5.52, "end": 15.5113125, "num_words": 28}]}}]}], "summary": {"result": "success", "short": "Yep. I said it before, and I'll say it again. Life moves pretty fast. You don't stop and look around once in a while, you could miss it."}}} \ No newline at end of file diff --git a/tests/response_data/listen/rest/a231370d439312b1a404bb6ad8de955e900ec8eae9a906329af8cc672e6ec7ba-a17f4880c5b4cf124ac54d06d77c9f0ab7f3fe1052ff1c7b090f7eaf8ede5b76-response.json b/tests/response_data/listen/rest/a231370d439312b1a404bb6ad8de955e900ec8eae9a906329af8cc672e6ec7ba-a17f4880c5b4cf124ac54d06d77c9f0ab7f3fe1052ff1c7b090f7eaf8ede5b76-response.json index 8cae69b3..b03ad714 100644 --- a/tests/response_data/listen/rest/a231370d439312b1a404bb6ad8de955e900ec8eae9a906329af8cc672e6ec7ba-a17f4880c5b4cf124ac54d06d77c9f0ab7f3fe1052ff1c7b090f7eaf8ede5b76-response.json +++ b/tests/response_data/listen/rest/a231370d439312b1a404bb6ad8de955e900ec8eae9a906329af8cc672e6ec7ba-a17f4880c5b4cf124ac54d06d77c9f0ab7f3fe1052ff1c7b090f7eaf8ede5b76-response.json @@ -1 +1 @@ -{"metadata": {"transaction_key": "deprecated", "request_id": "af93ae73-07b4-4e6f-96b8-8cb2396a3ea9", "sha256": "95dc40091b6a8456a1554ddfc4f163768217afd66bee70a10c74bb52805cd0d9", "created": "2025-07-17T15:22:01.954Z", "duration": 19.097937, "channels": 1, "models": ["3b3aabe4-608a-46ac-9585-7960a25daf1a"], "model_info": {"3b3aabe4-608a-46ac-9585-7960a25daf1a": {"name": "general-nova-3", "version": "2024-12-20.0", "arch": "nova-3"}}, "summary_info": {"model_uuid": "67875a7f-c9c4-48a0-aa55-5bdb8a91c34a", "input_tokens": 63, "output_tokens": 43}}, "results": {"channels": [{"alternatives": [{"transcript": "We, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "confidence": 0.9977375, "words": [{"word": "we", "start": 0.32, "end": 0.79999995, "confidence": 0.86245584, "punctuated_word": "We,"}, {"word": "the", "start": 0.79999995, "end": 0.96, "confidence": 0.99880075, "punctuated_word": "the"}, {"word": "people", "start": 0.96, "end": 1.1999999, "confidence": 0.9702976, "punctuated_word": "people"}, {"word": "of", "start": 1.1999999, "end": 1.4399999, "confidence": 0.92612505, "punctuated_word": "of"}, {"word": "the", "start": 1.4399999, "end": 1.5999999, "confidence": 0.9968947, "punctuated_word": "The"}, {"word": "united", "start": 1.5999999, "end": 1.92, "confidence": 0.99693966, "punctuated_word": "United"}, {"word": "states", "start": 1.92, "end": 2.56, "confidence": 0.9895243, "punctuated_word": "States,"}, {"word": "in", "start": 2.56, "end": 2.72, "confidence": 0.9984237, "punctuated_word": "in"}, {"word": "order", "start": 2.72, "end": 2.96, "confidence": 0.9999379, "punctuated_word": "order"}, {"word": "to", "start": 2.96, "end": 3.12, "confidence": 0.9960299, "punctuated_word": "to"}, {"word": "form", "start": 3.12, "end": 3.28, "confidence": 0.99930143, "punctuated_word": "form"}, {"word": "a", "start": 3.28, "end": 3.4399998, "confidence": 0.99919444, "punctuated_word": "a"}, {"word": "more", "start": 3.4399998, "end": 3.6799998, "confidence": 0.99967265, "punctuated_word": "more"}, {"word": "perfect", "start": 3.6799998, "end": 3.9199998, "confidence": 0.9996805, "punctuated_word": "perfect"}, {"word": "union", "start": 3.9199998, "end": 4.56, "confidence": 0.96661425, "punctuated_word": "union,"}, {"word": "establish", "start": 4.72, "end": 5.2, "confidence": 0.9780067, "punctuated_word": "establish"}, {"word": "justice", "start": 5.2, "end": 6.08, "confidence": 0.99622726, "punctuated_word": "justice,"}, {"word": "ensure", "start": 6.08, "end": 6.3999996, "confidence": 0.96901906, "punctuated_word": "ensure"}, {"word": "domestic", "start": 6.3999996, "end": 6.8799996, "confidence": 0.9797146, "punctuated_word": "domestic"}, {"word": "tranquility", "start": 6.8799996, "end": 7.52, "confidence": 0.9949539, "punctuated_word": "tranquility,"}, {"word": "provide", "start": 7.792875, "end": 8.352875, "confidence": 0.99955326, "punctuated_word": "provide"}, {"word": "for", "start": 8.352875, "end": 8.512875, "confidence": 0.99970573, "punctuated_word": "for"}, {"word": "the", "start": 8.512875, "end": 8.672874, "confidence": 0.99844533, "punctuated_word": "the"}, {"word": "common", "start": 8.672874, "end": 8.912875, "confidence": 0.9994067, "punctuated_word": "common"}, {"word": "defense", "start": 8.912875, "end": 9.6328745, "confidence": 0.9897019, "punctuated_word": "defense,"}, {"word": "promote", "start": 9.6328745, "end": 9.952875, "confidence": 0.9921347, "punctuated_word": "promote"}, {"word": "the", "start": 9.952875, "end": 10.192875, "confidence": 0.9944115, "punctuated_word": "the"}, {"word": "general", "start": 10.192875, "end": 10.512875, "confidence": 0.9995796, "punctuated_word": "general"}, {"word": "welfare", "start": 10.512875, "end": 11.152875, "confidence": 0.97140217, "punctuated_word": "welfare,"}, {"word": "and", "start": 11.152875, "end": 11.232875, "confidence": 0.9996729, "punctuated_word": "and"}, {"word": "secure", "start": 11.232875, "end": 11.552875, "confidence": 0.9994293, "punctuated_word": "secure"}, {"word": "the", "start": 11.552875, "end": 11.792875, "confidence": 0.99942905, "punctuated_word": "the"}, {"word": "blessings", "start": 11.792875, "end": 12.112875, "confidence": 0.9974203, "punctuated_word": "blessings"}, {"word": "of", "start": 12.112875, "end": 12.272875, "confidence": 0.99958616, "punctuated_word": "of"}, {"word": "liberty", "start": 12.272875, "end": 12.672874, "confidence": 0.99673575, "punctuated_word": "liberty"}, {"word": "to", "start": 12.672874, "end": 12.912874, "confidence": 0.99031353, "punctuated_word": "to"}, {"word": "ourselves", "start": 12.912874, "end": 13.312875, "confidence": 0.99862075, "punctuated_word": "ourselves"}, {"word": "and", "start": 13.312875, "end": 13.552875, "confidence": 0.8777888, "punctuated_word": "and"}, {"word": "our", "start": 13.552875, "end": 13.712875, "confidence": 0.997166, "punctuated_word": "our"}, {"word": "posterity", "start": 13.712875, "end": 14.592875, "confidence": 0.9914963, "punctuated_word": "posterity"}, {"word": "to", "start": 14.592875, "end": 14.832874, "confidence": 0.60252225, "punctuated_word": "to"}, {"word": "ordain", "start": 14.832874, "end": 15.312875, "confidence": 0.9985095, "punctuated_word": "ordain"}, {"word": "and", "start": 15.312875, "end": 15.472875, "confidence": 0.9984877, "punctuated_word": "and"}, {"word": "establish", "start": 15.472875, "end": 15.952875, "confidence": 0.9977585, "punctuated_word": "establish"}, {"word": "this", "start": 15.952875, "end": 16.272875, "confidence": 0.99880767, "punctuated_word": "this"}, {"word": "constitution", "start": 16.272875, "end": 16.912874, "confidence": 0.95854074, "punctuated_word": "constitution"}, {"word": "for", "start": 16.912874, "end": 17.152874, "confidence": 0.9984143, "punctuated_word": "for"}, {"word": "the", "start": 17.152874, "end": 17.312874, "confidence": 0.99807125, "punctuated_word": "The"}, {"word": "united", "start": 17.312874, "end": 17.632875, "confidence": 0.9977375, "punctuated_word": "United"}, {"word": "states", "start": 17.632875, "end": 17.952875, "confidence": 0.999585, "punctuated_word": "States"}, {"word": "of", "start": 17.952875, "end": 18.192875, "confidence": 0.9996074, "punctuated_word": "Of"}, {"word": "america", "start": 18.192875, "end": 18.592875, "confidence": 0.9971571, "punctuated_word": "America."}], "paragraphs": {"transcript": "\nWe, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "paragraphs": [{"sentences": [{"text": "We, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "start": 0.32, "end": 18.592875}], "start": 0.32, "end": 18.592875, "num_words": 52}]}}]}], "summary": {"result": "success", "short": "Speaker 1 discusses the goal of establishing a more perfect union, justice, and the common defense for the United States of America, in order to secure the blessings of liberty and establish the constitution for the country."}}} \ No newline at end of file +{"metadata": {"transaction_key": "deprecated", "request_id": "bdf35b40-cdf5-468d-addb-a0bae3701e70", "sha256": "95dc40091b6a8456a1554ddfc4f163768217afd66bee70a10c74bb52805cd0d9", "created": "2025-07-18T22:54:01.215Z", "duration": 19.097937, "channels": 1, "models": ["3b3aabe4-608a-46ac-9585-7960a25daf1a"], "model_info": {"3b3aabe4-608a-46ac-9585-7960a25daf1a": {"name": "general-nova-3", "version": "2024-12-20.0", "arch": "nova-3"}}, "summary_info": {"model_uuid": "67875a7f-c9c4-48a0-aa55-5bdb8a91c34a", "input_tokens": 63, "output_tokens": 43}}, "results": {"channels": [{"alternatives": [{"transcript": "We, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "confidence": 0.9977381, "words": [{"word": "we", "start": 0.32, "end": 0.79999995, "confidence": 0.8624499, "punctuated_word": "We,"}, {"word": "the", "start": 0.79999995, "end": 0.96, "confidence": 0.9988005, "punctuated_word": "the"}, {"word": "people", "start": 0.96, "end": 1.1999999, "confidence": 0.9702857, "punctuated_word": "people"}, {"word": "of", "start": 1.1999999, "end": 1.4399999, "confidence": 0.9261158, "punctuated_word": "of"}, {"word": "the", "start": 1.4399999, "end": 1.5999999, "confidence": 0.9968951, "punctuated_word": "The"}, {"word": "united", "start": 1.5999999, "end": 1.92, "confidence": 0.99693906, "punctuated_word": "United"}, {"word": "states", "start": 1.92, "end": 2.56, "confidence": 0.9895239, "punctuated_word": "States,"}, {"word": "in", "start": 2.56, "end": 2.72, "confidence": 0.9984237, "punctuated_word": "in"}, {"word": "order", "start": 2.72, "end": 2.96, "confidence": 0.9999378, "punctuated_word": "order"}, {"word": "to", "start": 2.96, "end": 3.12, "confidence": 0.9960312, "punctuated_word": "to"}, {"word": "form", "start": 3.12, "end": 3.28, "confidence": 0.9993017, "punctuated_word": "form"}, {"word": "a", "start": 3.28, "end": 3.4399998, "confidence": 0.9991947, "punctuated_word": "a"}, {"word": "more", "start": 3.4399998, "end": 3.6799998, "confidence": 0.99967253, "punctuated_word": "more"}, {"word": "perfect", "start": 3.6799998, "end": 3.9199998, "confidence": 0.9996804, "punctuated_word": "perfect"}, {"word": "union", "start": 3.9199998, "end": 4.56, "confidence": 0.96660304, "punctuated_word": "union,"}, {"word": "establish", "start": 4.72, "end": 5.2, "confidence": 0.9780107, "punctuated_word": "establish"}, {"word": "justice", "start": 5.2, "end": 6.08, "confidence": 0.9962268, "punctuated_word": "justice,"}, {"word": "ensure", "start": 6.08, "end": 6.3999996, "confidence": 0.96901894, "punctuated_word": "ensure"}, {"word": "domestic", "start": 6.3999996, "end": 6.8799996, "confidence": 0.9797106, "punctuated_word": "domestic"}, {"word": "tranquility", "start": 6.8799996, "end": 7.52, "confidence": 0.99495304, "punctuated_word": "tranquility,"}, {"word": "provide", "start": 7.792875, "end": 8.352875, "confidence": 0.99955326, "punctuated_word": "provide"}, {"word": "for", "start": 8.352875, "end": 8.512875, "confidence": 0.99970573, "punctuated_word": "for"}, {"word": "the", "start": 8.512875, "end": 8.672874, "confidence": 0.99844545, "punctuated_word": "the"}, {"word": "common", "start": 8.672874, "end": 8.912875, "confidence": 0.9994067, "punctuated_word": "common"}, {"word": "defense", "start": 8.912875, "end": 9.6328745, "confidence": 0.9897037, "punctuated_word": "defense,"}, {"word": "promote", "start": 9.6328745, "end": 9.952875, "confidence": 0.99213505, "punctuated_word": "promote"}, {"word": "the", "start": 9.952875, "end": 10.192875, "confidence": 0.99441385, "punctuated_word": "the"}, {"word": "general", "start": 10.192875, "end": 10.512875, "confidence": 0.9995796, "punctuated_word": "general"}, {"word": "welfare", "start": 10.512875, "end": 11.152875, "confidence": 0.9714123, "punctuated_word": "welfare,"}, {"word": "and", "start": 11.152875, "end": 11.232875, "confidence": 0.9996729, "punctuated_word": "and"}, {"word": "secure", "start": 11.232875, "end": 11.552875, "confidence": 0.9994293, "punctuated_word": "secure"}, {"word": "the", "start": 11.552875, "end": 11.792875, "confidence": 0.99942905, "punctuated_word": "the"}, {"word": "blessings", "start": 11.792875, "end": 12.112875, "confidence": 0.99741995, "punctuated_word": "blessings"}, {"word": "of", "start": 12.112875, "end": 12.272875, "confidence": 0.99958605, "punctuated_word": "of"}, {"word": "liberty", "start": 12.272875, "end": 12.672874, "confidence": 0.99673575, "punctuated_word": "liberty"}, {"word": "to", "start": 12.672874, "end": 12.912874, "confidence": 0.9903154, "punctuated_word": "to"}, {"word": "ourselves", "start": 12.912874, "end": 13.312875, "confidence": 0.99862087, "punctuated_word": "ourselves"}, {"word": "and", "start": 13.312875, "end": 13.552875, "confidence": 0.87773573, "punctuated_word": "and"}, {"word": "our", "start": 13.552875, "end": 13.712875, "confidence": 0.9971655, "punctuated_word": "our"}, {"word": "posterity", "start": 13.712875, "end": 14.592875, "confidence": 0.9914979, "punctuated_word": "posterity"}, {"word": "to", "start": 14.592875, "end": 14.832874, "confidence": 0.6025522, "punctuated_word": "to"}, {"word": "ordain", "start": 14.832874, "end": 15.312875, "confidence": 0.99851, "punctuated_word": "ordain"}, {"word": "and", "start": 15.312875, "end": 15.472875, "confidence": 0.9984882, "punctuated_word": "and"}, {"word": "establish", "start": 15.472875, "end": 15.952875, "confidence": 0.99775887, "punctuated_word": "establish"}, {"word": "this", "start": 15.952875, "end": 16.272875, "confidence": 0.998808, "punctuated_word": "this"}, {"word": "constitution", "start": 16.272875, "end": 16.912874, "confidence": 0.95854187, "punctuated_word": "constitution"}, {"word": "for", "start": 16.912874, "end": 17.152874, "confidence": 0.99841416, "punctuated_word": "for"}, {"word": "the", "start": 17.152874, "end": 17.312874, "confidence": 0.9980714, "punctuated_word": "The"}, {"word": "united", "start": 17.312874, "end": 17.632875, "confidence": 0.9977381, "punctuated_word": "United"}, {"word": "states", "start": 17.632875, "end": 17.952875, "confidence": 0.999585, "punctuated_word": "States"}, {"word": "of", "start": 17.952875, "end": 18.192875, "confidence": 0.99960726, "punctuated_word": "Of"}, {"word": "america", "start": 18.192875, "end": 18.592875, "confidence": 0.99715745, "punctuated_word": "America."}], "paragraphs": {"transcript": "\nWe, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "paragraphs": [{"sentences": [{"text": "We, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "start": 0.32, "end": 18.592875}], "start": 0.32, "end": 18.592875, "num_words": 52}]}}]}], "summary": {"result": "success", "short": "Speaker 1 discusses the goal of establishing a more perfect union, justice, and the common defense for the United States of America, in order to secure the blessings of liberty and establish the constitution for the country."}}} \ No newline at end of file diff --git a/tests/response_data/listen/rest/c4e1c0031174878d8f0e3dbd87916ee16d56f1c610ac525af5712ea37226a455-29e7c8100617f70da4ae9da1921cb5071a01219f4780ca70930b0a370ed2163a-response.json b/tests/response_data/listen/rest/c4e1c0031174878d8f0e3dbd87916ee16d56f1c610ac525af5712ea37226a455-29e7c8100617f70da4ae9da1921cb5071a01219f4780ca70930b0a370ed2163a-response.json index c4c0e9e1..f8ea7c61 100644 --- a/tests/response_data/listen/rest/c4e1c0031174878d8f0e3dbd87916ee16d56f1c610ac525af5712ea37226a455-29e7c8100617f70da4ae9da1921cb5071a01219f4780ca70930b0a370ed2163a-response.json +++ b/tests/response_data/listen/rest/c4e1c0031174878d8f0e3dbd87916ee16d56f1c610ac525af5712ea37226a455-29e7c8100617f70da4ae9da1921cb5071a01219f4780ca70930b0a370ed2163a-response.json @@ -1 +1 @@ -{"metadata": {"transaction_key": "deprecated", "request_id": "426529dd-f7d5-4295-99ea-6c6baf31721e", "sha256": "5324da68ede209a16ac69a38e8cd29cee4d754434a041166cda3a1f5e0b24566", "created": "2025-07-17T15:22:05.147Z", "duration": 17.566313, "channels": 1, "models": ["3b3aabe4-608a-46ac-9585-7960a25daf1a"], "model_info": {"3b3aabe4-608a-46ac-9585-7960a25daf1a": {"name": "general-nova-3", "version": "2024-12-20.0", "arch": "nova-3"}}}, "results": {"channels": [{"alternatives": [{"transcript": "Yep. I said it before, and I'll say it again. Life moves pretty fast. You don't stop and look around once in a while, you could miss it.", "confidence": 0.99914277, "words": [{"word": "yep", "start": 5.52, "end": 6.2400002, "confidence": 0.92339367, "punctuated_word": "Yep."}, {"word": "i", "start": 6.96, "end": 7.2799997, "confidence": 0.5775679, "punctuated_word": "I"}, {"word": "said", "start": 7.2799997, "end": 7.52, "confidence": 0.905148, "punctuated_word": "said"}, {"word": "it", "start": 7.52, "end": 7.68, "confidence": 0.9979728, "punctuated_word": "it"}, {"word": "before", "start": 7.68, "end": 8.08, "confidence": 0.89340186, "punctuated_word": "before,"}, {"word": "and", "start": 8.08, "end": 8.16, "confidence": 0.99981827, "punctuated_word": "and"}, {"word": "i'll", "start": 8.16, "end": 8.4, "confidence": 0.9996171, "punctuated_word": "I'll"}, {"word": "say", "start": 8.4, "end": 8.48, "confidence": 0.99941766, "punctuated_word": "say"}, {"word": "it", "start": 8.48, "end": 8.639999, "confidence": 0.9995969, "punctuated_word": "it"}, {"word": "again", "start": 8.639999, "end": 8.96, "confidence": 0.95281684, "punctuated_word": "again."}, {"word": "life", "start": 10.071313, "end": 10.311313, "confidence": 0.99900085, "punctuated_word": "Life"}, {"word": "moves", "start": 10.311313, "end": 10.631312, "confidence": 0.9996644, "punctuated_word": "moves"}, {"word": "pretty", "start": 10.631312, "end": 11.031313, "confidence": 0.99988604, "punctuated_word": "pretty"}, {"word": "fast", "start": 11.031313, "end": 11.671312, "confidence": 0.99896824, "punctuated_word": "fast."}, {"word": "you", "start": 12.071312, "end": 12.311313, "confidence": 0.9201969, "punctuated_word": "You"}, {"word": "don't", "start": 12.311313, "end": 12.551312, "confidence": 0.99986005, "punctuated_word": "don't"}, {"word": "stop", "start": 12.551312, "end": 12.791312, "confidence": 0.99976414, "punctuated_word": "stop"}, {"word": "and", "start": 12.791312, "end": 12.951312, "confidence": 0.99852175, "punctuated_word": "and"}, {"word": "look", "start": 12.951312, "end": 13.111313, "confidence": 0.9998677, "punctuated_word": "look"}, {"word": "around", "start": 13.111313, "end": 13.351313, "confidence": 0.9998548, "punctuated_word": "around"}, {"word": "once", "start": 13.351313, "end": 13.671312, "confidence": 0.99914277, "punctuated_word": "once"}, {"word": "in", "start": 13.671312, "end": 13.831312, "confidence": 0.9976291, "punctuated_word": "in"}, {"word": "a", "start": 13.831312, "end": 13.911312, "confidence": 0.98508126, "punctuated_word": "a"}, {"word": "while", "start": 13.911312, "end": 14.391312, "confidence": 0.9348942, "punctuated_word": "while,"}, {"word": "you", "start": 14.711312, "end": 14.871312, "confidence": 0.9992155, "punctuated_word": "you"}, {"word": "could", "start": 14.871312, "end": 15.031313, "confidence": 0.99974424, "punctuated_word": "could"}, {"word": "miss", "start": 15.031313, "end": 15.271313, "confidence": 0.9997111, "punctuated_word": "miss"}, {"word": "it", "start": 15.271313, "end": 15.5113125, "confidence": 0.99891484, "punctuated_word": "it."}], "paragraphs": {"transcript": "\nYep. I said it before, and I'll say it again. Life moves pretty fast. You don't stop and look around once in a while, you could miss it.", "paragraphs": [{"sentences": [{"text": "Yep.", "start": 5.52, "end": 6.2400002}, {"text": "I said it before, and I'll say it again.", "start": 6.96, "end": 8.96}, {"text": "Life moves pretty fast.", "start": 10.071313, "end": 11.671312}, {"text": "You don't stop and look around once in a while, you could miss it.", "start": 12.071312, "end": 15.5113125}], "start": 5.52, "end": 15.5113125, "num_words": 28}]}}]}]}} \ No newline at end of file +{"metadata": {"transaction_key": "deprecated", "request_id": "cd646c7c-52c9-49de-8d1c-6b5da9a115a2", "sha256": "5324da68ede209a16ac69a38e8cd29cee4d754434a041166cda3a1f5e0b24566", "created": "2025-07-18T22:54:03.046Z", "duration": 17.566313, "channels": 1, "models": ["3b3aabe4-608a-46ac-9585-7960a25daf1a"], "model_info": {"3b3aabe4-608a-46ac-9585-7960a25daf1a": {"name": "general-nova-3", "version": "2024-12-20.0", "arch": "nova-3"}}}, "results": {"channels": [{"alternatives": [{"transcript": "Yep. I said it before, and I'll say it again. Life moves pretty fast. You don't stop and look around once in a while, you could miss it.", "confidence": 0.999143, "words": [{"word": "yep", "start": 5.52, "end": 6.2400002, "confidence": 0.92342806, "punctuated_word": "Yep."}, {"word": "i", "start": 6.96, "end": 7.2799997, "confidence": 0.57757515, "punctuated_word": "I"}, {"word": "said", "start": 7.2799997, "end": 7.52, "confidence": 0.9052356, "punctuated_word": "said"}, {"word": "it", "start": 7.52, "end": 7.68, "confidence": 0.99797314, "punctuated_word": "it"}, {"word": "before", "start": 7.68, "end": 8.08, "confidence": 0.8933872, "punctuated_word": "before,"}, {"word": "and", "start": 8.08, "end": 8.16, "confidence": 0.99981827, "punctuated_word": "and"}, {"word": "i'll", "start": 8.16, "end": 8.4, "confidence": 0.99961716, "punctuated_word": "I'll"}, {"word": "say", "start": 8.4, "end": 8.48, "confidence": 0.99941766, "punctuated_word": "say"}, {"word": "it", "start": 8.48, "end": 8.639999, "confidence": 0.999597, "punctuated_word": "it"}, {"word": "again", "start": 8.639999, "end": 8.96, "confidence": 0.9528253, "punctuated_word": "again."}, {"word": "life", "start": 10.071313, "end": 10.311313, "confidence": 0.9990013, "punctuated_word": "Life"}, {"word": "moves", "start": 10.311313, "end": 10.631312, "confidence": 0.9996643, "punctuated_word": "moves"}, {"word": "pretty", "start": 10.631312, "end": 11.031313, "confidence": 0.99988604, "punctuated_word": "pretty"}, {"word": "fast", "start": 11.031313, "end": 11.671312, "confidence": 0.9989686, "punctuated_word": "fast."}, {"word": "you", "start": 12.071312, "end": 12.311313, "confidence": 0.92013294, "punctuated_word": "You"}, {"word": "don't", "start": 12.311313, "end": 12.551312, "confidence": 0.99986017, "punctuated_word": "don't"}, {"word": "stop", "start": 12.551312, "end": 12.791312, "confidence": 0.99976414, "punctuated_word": "stop"}, {"word": "and", "start": 12.791312, "end": 12.951312, "confidence": 0.99852246, "punctuated_word": "and"}, {"word": "look", "start": 12.951312, "end": 13.111313, "confidence": 0.9998677, "punctuated_word": "look"}, {"word": "around", "start": 13.111313, "end": 13.351313, "confidence": 0.9998548, "punctuated_word": "around"}, {"word": "once", "start": 13.351313, "end": 13.671312, "confidence": 0.999143, "punctuated_word": "once"}, {"word": "in", "start": 13.671312, "end": 13.831312, "confidence": 0.9976291, "punctuated_word": "in"}, {"word": "a", "start": 13.831312, "end": 13.911312, "confidence": 0.98508644, "punctuated_word": "a"}, {"word": "while", "start": 13.911312, "end": 14.391312, "confidence": 0.9349461, "punctuated_word": "while,"}, {"word": "you", "start": 14.711312, "end": 14.871312, "confidence": 0.99921596, "punctuated_word": "you"}, {"word": "could", "start": 14.871312, "end": 15.031313, "confidence": 0.99974436, "punctuated_word": "could"}, {"word": "miss", "start": 15.031313, "end": 15.271313, "confidence": 0.9997112, "punctuated_word": "miss"}, {"word": "it", "start": 15.271313, "end": 15.5113125, "confidence": 0.99891484, "punctuated_word": "it."}], "paragraphs": {"transcript": "\nYep. I said it before, and I'll say it again. Life moves pretty fast. You don't stop and look around once in a while, you could miss it.", "paragraphs": [{"sentences": [{"text": "Yep.", "start": 5.52, "end": 6.2400002}, {"text": "I said it before, and I'll say it again.", "start": 6.96, "end": 8.96}, {"text": "Life moves pretty fast.", "start": 10.071313, "end": 11.671312}, {"text": "You don't stop and look around once in a while, you could miss it.", "start": 12.071312, "end": 15.5113125}], "start": 5.52, "end": 15.5113125, "num_words": 28}]}}]}]}} \ No newline at end of file diff --git a/tests/response_data/listen/rest/c4e1c0031174878d8f0e3dbd87916ee16d56f1c610ac525af5712ea37226a455-a17f4880c5b4cf124ac54d06d77c9f0ab7f3fe1052ff1c7b090f7eaf8ede5b76-response.json b/tests/response_data/listen/rest/c4e1c0031174878d8f0e3dbd87916ee16d56f1c610ac525af5712ea37226a455-a17f4880c5b4cf124ac54d06d77c9f0ab7f3fe1052ff1c7b090f7eaf8ede5b76-response.json index 98da5fd7..6cc146e5 100644 --- a/tests/response_data/listen/rest/c4e1c0031174878d8f0e3dbd87916ee16d56f1c610ac525af5712ea37226a455-a17f4880c5b4cf124ac54d06d77c9f0ab7f3fe1052ff1c7b090f7eaf8ede5b76-response.json +++ b/tests/response_data/listen/rest/c4e1c0031174878d8f0e3dbd87916ee16d56f1c610ac525af5712ea37226a455-a17f4880c5b4cf124ac54d06d77c9f0ab7f3fe1052ff1c7b090f7eaf8ede5b76-response.json @@ -1 +1 @@ -{"metadata": {"transaction_key": "deprecated", "request_id": "381456da-c8ff-49b7-9edd-32fd79754db7", "sha256": "95dc40091b6a8456a1554ddfc4f163768217afd66bee70a10c74bb52805cd0d9", "created": "2025-07-17T15:22:00.853Z", "duration": 19.097937, "channels": 1, "models": ["3b3aabe4-608a-46ac-9585-7960a25daf1a"], "model_info": {"3b3aabe4-608a-46ac-9585-7960a25daf1a": {"name": "general-nova-3", "version": "2024-12-20.0", "arch": "nova-3"}}}, "results": {"channels": [{"alternatives": [{"transcript": "We, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "confidence": 0.9977373, "words": [{"word": "we", "start": 0.32, "end": 0.79999995, "confidence": 0.8623352, "punctuated_word": "We,"}, {"word": "the", "start": 0.79999995, "end": 0.96, "confidence": 0.9987993, "punctuated_word": "the"}, {"word": "people", "start": 0.96, "end": 1.1999999, "confidence": 0.970258, "punctuated_word": "people"}, {"word": "of", "start": 1.1999999, "end": 1.4399999, "confidence": 0.925995, "punctuated_word": "of"}, {"word": "the", "start": 1.4399999, "end": 1.5999999, "confidence": 0.9968941, "punctuated_word": "The"}, {"word": "united", "start": 1.5999999, "end": 1.92, "confidence": 0.9969405, "punctuated_word": "United"}, {"word": "states", "start": 1.92, "end": 2.56, "confidence": 0.9895228, "punctuated_word": "States,"}, {"word": "in", "start": 2.56, "end": 2.72, "confidence": 0.99842215, "punctuated_word": "in"}, {"word": "order", "start": 2.72, "end": 2.96, "confidence": 0.9999378, "punctuated_word": "order"}, {"word": "to", "start": 2.96, "end": 3.12, "confidence": 0.99602926, "punctuated_word": "to"}, {"word": "form", "start": 3.12, "end": 3.28, "confidence": 0.99930143, "punctuated_word": "form"}, {"word": "a", "start": 3.28, "end": 3.4399998, "confidence": 0.9991947, "punctuated_word": "a"}, {"word": "more", "start": 3.4399998, "end": 3.6799998, "confidence": 0.9996723, "punctuated_word": "more"}, {"word": "perfect", "start": 3.6799998, "end": 3.9199998, "confidence": 0.9996803, "punctuated_word": "perfect"}, {"word": "union", "start": 3.9199998, "end": 4.56, "confidence": 0.96657944, "punctuated_word": "union,"}, {"word": "establish", "start": 4.72, "end": 5.2, "confidence": 0.9780286, "punctuated_word": "establish"}, {"word": "justice", "start": 5.2, "end": 6.08, "confidence": 0.9962243, "punctuated_word": "justice,"}, {"word": "ensure", "start": 6.08, "end": 6.3999996, "confidence": 0.969012, "punctuated_word": "ensure"}, {"word": "domestic", "start": 6.3999996, "end": 6.8799996, "confidence": 0.9797084, "punctuated_word": "domestic"}, {"word": "tranquility", "start": 6.8799996, "end": 7.52, "confidence": 0.9949529, "punctuated_word": "tranquility,"}, {"word": "provide", "start": 7.792875, "end": 8.352875, "confidence": 0.99955326, "punctuated_word": "provide"}, {"word": "for", "start": 8.352875, "end": 8.512875, "confidence": 0.9997055, "punctuated_word": "for"}, {"word": "the", "start": 8.512875, "end": 8.672874, "confidence": 0.9984444, "punctuated_word": "the"}, {"word": "common", "start": 8.672874, "end": 8.912875, "confidence": 0.9994067, "punctuated_word": "common"}, {"word": "defense", "start": 8.912875, "end": 9.6328745, "confidence": 0.9897144, "punctuated_word": "defense,"}, {"word": "promote", "start": 9.6328745, "end": 9.952875, "confidence": 0.99213976, "punctuated_word": "promote"}, {"word": "the", "start": 9.952875, "end": 10.192875, "confidence": 0.99441224, "punctuated_word": "the"}, {"word": "general", "start": 10.192875, "end": 10.512875, "confidence": 0.9995796, "punctuated_word": "general"}, {"word": "welfare", "start": 10.512875, "end": 11.152875, "confidence": 0.97138923, "punctuated_word": "welfare,"}, {"word": "and", "start": 11.152875, "end": 11.232875, "confidence": 0.99967265, "punctuated_word": "and"}, {"word": "secure", "start": 11.232875, "end": 11.552875, "confidence": 0.9994293, "punctuated_word": "secure"}, {"word": "the", "start": 11.552875, "end": 11.792875, "confidence": 0.9994287, "punctuated_word": "the"}, {"word": "blessings", "start": 11.792875, "end": 12.112875, "confidence": 0.9974183, "punctuated_word": "blessings"}, {"word": "of", "start": 12.112875, "end": 12.272875, "confidence": 0.9995859, "punctuated_word": "of"}, {"word": "liberty", "start": 12.272875, "end": 12.672874, "confidence": 0.99673635, "punctuated_word": "liberty"}, {"word": "to", "start": 12.672874, "end": 12.912874, "confidence": 0.9903262, "punctuated_word": "to"}, {"word": "ourselves", "start": 12.912874, "end": 13.312875, "confidence": 0.9986204, "punctuated_word": "ourselves"}, {"word": "and", "start": 13.312875, "end": 13.552875, "confidence": 0.8778037, "punctuated_word": "and"}, {"word": "our", "start": 13.552875, "end": 13.712875, "confidence": 0.9971621, "punctuated_word": "our"}, {"word": "posterity", "start": 13.712875, "end": 14.592875, "confidence": 0.99150026, "punctuated_word": "posterity"}, {"word": "to", "start": 14.592875, "end": 14.832874, "confidence": 0.6021897, "punctuated_word": "to"}, {"word": "ordain", "start": 14.832874, "end": 15.312875, "confidence": 0.99850893, "punctuated_word": "ordain"}, {"word": "and", "start": 15.312875, "end": 15.472875, "confidence": 0.99848676, "punctuated_word": "and"}, {"word": "establish", "start": 15.472875, "end": 15.952875, "confidence": 0.9977576, "punctuated_word": "establish"}, {"word": "this", "start": 15.952875, "end": 16.272875, "confidence": 0.9988072, "punctuated_word": "this"}, {"word": "constitution", "start": 16.272875, "end": 16.912874, "confidence": 0.95849353, "punctuated_word": "constitution"}, {"word": "for", "start": 16.912874, "end": 17.152874, "confidence": 0.9984144, "punctuated_word": "for"}, {"word": "the", "start": 17.152874, "end": 17.312874, "confidence": 0.99807066, "punctuated_word": "The"}, {"word": "united", "start": 17.312874, "end": 17.632875, "confidence": 0.9977373, "punctuated_word": "United"}, {"word": "states", "start": 17.632875, "end": 17.952875, "confidence": 0.99958485, "punctuated_word": "States"}, {"word": "of", "start": 17.952875, "end": 18.192875, "confidence": 0.9996069, "punctuated_word": "Of"}, {"word": "america", "start": 18.192875, "end": 18.592875, "confidence": 0.99715674, "punctuated_word": "America."}], "paragraphs": {"transcript": "\nWe, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "paragraphs": [{"sentences": [{"text": "We, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "start": 0.32, "end": 18.592875}], "start": 0.32, "end": 18.592875, "num_words": 52}]}}]}]}} \ No newline at end of file +{"metadata": {"transaction_key": "deprecated", "request_id": "a9ab311a-dc58-4e74-988e-4ffd37ba9ffc", "sha256": "95dc40091b6a8456a1554ddfc4f163768217afd66bee70a10c74bb52805cd0d9", "created": "2025-07-18T22:54:00.475Z", "duration": 19.097937, "channels": 1, "models": ["3b3aabe4-608a-46ac-9585-7960a25daf1a"], "model_info": {"3b3aabe4-608a-46ac-9585-7960a25daf1a": {"name": "general-nova-3", "version": "2024-12-20.0", "arch": "nova-3"}}}, "results": {"channels": [{"alternatives": [{"transcript": "We, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "confidence": 0.9977375, "words": [{"word": "we", "start": 0.32, "end": 0.79999995, "confidence": 0.86245596, "punctuated_word": "We,"}, {"word": "the", "start": 0.79999995, "end": 0.96, "confidence": 0.99880075, "punctuated_word": "the"}, {"word": "people", "start": 0.96, "end": 1.1999999, "confidence": 0.9702975, "punctuated_word": "people"}, {"word": "of", "start": 1.1999999, "end": 1.4399999, "confidence": 0.92612493, "punctuated_word": "of"}, {"word": "the", "start": 1.4399999, "end": 1.5999999, "confidence": 0.9968947, "punctuated_word": "The"}, {"word": "united", "start": 1.5999999, "end": 1.92, "confidence": 0.99693966, "punctuated_word": "United"}, {"word": "states", "start": 1.92, "end": 2.56, "confidence": 0.9895243, "punctuated_word": "States,"}, {"word": "in", "start": 2.56, "end": 2.72, "confidence": 0.9984237, "punctuated_word": "in"}, {"word": "order", "start": 2.72, "end": 2.96, "confidence": 0.9999379, "punctuated_word": "order"}, {"word": "to", "start": 2.96, "end": 3.12, "confidence": 0.99602985, "punctuated_word": "to"}, {"word": "form", "start": 3.12, "end": 3.28, "confidence": 0.99930143, "punctuated_word": "form"}, {"word": "a", "start": 3.28, "end": 3.4399998, "confidence": 0.99919444, "punctuated_word": "a"}, {"word": "more", "start": 3.4399998, "end": 3.6799998, "confidence": 0.99967265, "punctuated_word": "more"}, {"word": "perfect", "start": 3.6799998, "end": 3.9199998, "confidence": 0.9996805, "punctuated_word": "perfect"}, {"word": "union", "start": 3.9199998, "end": 4.56, "confidence": 0.96661425, "punctuated_word": "union,"}, {"word": "establish", "start": 4.72, "end": 5.2, "confidence": 0.9780066, "punctuated_word": "establish"}, {"word": "justice", "start": 5.2, "end": 6.08, "confidence": 0.99622726, "punctuated_word": "justice,"}, {"word": "ensure", "start": 6.08, "end": 6.3999996, "confidence": 0.96901894, "punctuated_word": "ensure"}, {"word": "domestic", "start": 6.3999996, "end": 6.8799996, "confidence": 0.9797146, "punctuated_word": "domestic"}, {"word": "tranquility", "start": 6.8799996, "end": 7.52, "confidence": 0.99495393, "punctuated_word": "tranquility,"}, {"word": "provide", "start": 7.792875, "end": 8.352875, "confidence": 0.99955326, "punctuated_word": "provide"}, {"word": "for", "start": 8.352875, "end": 8.512875, "confidence": 0.99970573, "punctuated_word": "for"}, {"word": "the", "start": 8.512875, "end": 8.672874, "confidence": 0.99844533, "punctuated_word": "the"}, {"word": "common", "start": 8.672874, "end": 8.912875, "confidence": 0.9994067, "punctuated_word": "common"}, {"word": "defense", "start": 8.912875, "end": 9.6328745, "confidence": 0.9897019, "punctuated_word": "defense,"}, {"word": "promote", "start": 9.6328745, "end": 9.952875, "confidence": 0.9921348, "punctuated_word": "promote"}, {"word": "the", "start": 9.952875, "end": 10.192875, "confidence": 0.9944115, "punctuated_word": "the"}, {"word": "general", "start": 10.192875, "end": 10.512875, "confidence": 0.9995796, "punctuated_word": "general"}, {"word": "welfare", "start": 10.512875, "end": 11.152875, "confidence": 0.97140205, "punctuated_word": "welfare,"}, {"word": "and", "start": 11.152875, "end": 11.232875, "confidence": 0.9996729, "punctuated_word": "and"}, {"word": "secure", "start": 11.232875, "end": 11.552875, "confidence": 0.9994293, "punctuated_word": "secure"}, {"word": "the", "start": 11.552875, "end": 11.792875, "confidence": 0.99942905, "punctuated_word": "the"}, {"word": "blessings", "start": 11.792875, "end": 12.112875, "confidence": 0.9974203, "punctuated_word": "blessings"}, {"word": "of", "start": 12.112875, "end": 12.272875, "confidence": 0.99958616, "punctuated_word": "of"}, {"word": "liberty", "start": 12.272875, "end": 12.672874, "confidence": 0.99673575, "punctuated_word": "liberty"}, {"word": "to", "start": 12.672874, "end": 12.912874, "confidence": 0.99031353, "punctuated_word": "to"}, {"word": "ourselves", "start": 12.912874, "end": 13.312875, "confidence": 0.99862075, "punctuated_word": "ourselves"}, {"word": "and", "start": 13.312875, "end": 13.552875, "confidence": 0.8777888, "punctuated_word": "and"}, {"word": "our", "start": 13.552875, "end": 13.712875, "confidence": 0.997166, "punctuated_word": "our"}, {"word": "posterity", "start": 13.712875, "end": 14.592875, "confidence": 0.9914963, "punctuated_word": "posterity"}, {"word": "to", "start": 14.592875, "end": 14.832874, "confidence": 0.602522, "punctuated_word": "to"}, {"word": "ordain", "start": 14.832874, "end": 15.312875, "confidence": 0.9985095, "punctuated_word": "ordain"}, {"word": "and", "start": 15.312875, "end": 15.472875, "confidence": 0.9984877, "punctuated_word": "and"}, {"word": "establish", "start": 15.472875, "end": 15.952875, "confidence": 0.9977584, "punctuated_word": "establish"}, {"word": "this", "start": 15.952875, "end": 16.272875, "confidence": 0.99880767, "punctuated_word": "this"}, {"word": "constitution", "start": 16.272875, "end": 16.912874, "confidence": 0.95854074, "punctuated_word": "constitution"}, {"word": "for", "start": 16.912874, "end": 17.152874, "confidence": 0.9984143, "punctuated_word": "for"}, {"word": "the", "start": 17.152874, "end": 17.312874, "confidence": 0.99807125, "punctuated_word": "The"}, {"word": "united", "start": 17.312874, "end": 17.632875, "confidence": 0.9977375, "punctuated_word": "United"}, {"word": "states", "start": 17.632875, "end": 17.952875, "confidence": 0.999585, "punctuated_word": "States"}, {"word": "of", "start": 17.952875, "end": 18.192875, "confidence": 0.9996074, "punctuated_word": "Of"}, {"word": "america", "start": 18.192875, "end": 18.592875, "confidence": 0.9971571, "punctuated_word": "America."}], "paragraphs": {"transcript": "\nWe, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "paragraphs": [{"sentences": [{"text": "We, the people of The United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity to ordain and establish this constitution for The United States Of America.", "start": 0.32, "end": 18.592875}], "start": 0.32, "end": 18.592875, "num_words": 52}]}}]}]}} \ No newline at end of file diff --git a/tests/response_data/listen/websocket/ed5bfd217988aa8cad492f63f79dc59f5f02fb9b85befe6f6ce404b8f19aaa0d-42fc5ed98cabc1fa1a2f276301c27c46dd15f6f5187cd93d944cc94fa81c8469-response.json b/tests/response_data/listen/websocket/ed5bfd217988aa8cad492f63f79dc59f5f02fb9b85befe6f6ce404b8f19aaa0d-42fc5ed98cabc1fa1a2f276301c27c46dd15f6f5187cd93d944cc94fa81c8469-response.json index f716c473..95b10cf3 100644 --- a/tests/response_data/listen/websocket/ed5bfd217988aa8cad492f63f79dc59f5f02fb9b85befe6f6ce404b8f19aaa0d-42fc5ed98cabc1fa1a2f276301c27c46dd15f6f5187cd93d944cc94fa81c8469-response.json +++ b/tests/response_data/listen/websocket/ed5bfd217988aa8cad492f63f79dc59f5f02fb9b85befe6f6ce404b8f19aaa0d-42fc5ed98cabc1fa1a2f276301c27c46dd15f6f5187cd93d944cc94fa81c8469-response.json @@ -1 +1 @@ -{"channel": {"alternatives": [{"transcript": "Establish justice.", "confidence": 0.99121094, "words": [{"word": "establish", "start": 4.9031577, "end": 5.2978945, "confidence": 0.5019531, "punctuated_word": "Establish"}, {"word": "justice", "start": 5.2978945, "end": 5.6926312, "confidence": 0.99121094, "punctuated_word": "justice."}]}]}, "metadata": {"model_info": {"name": "general", "version": "2024-01-26.8851", "arch": "base"}, "request_id": "11eac141-b29b-4c78-9852-255494d81752", "model_uuid": "1ed36bac-f71c-4f3f-a31f-02fd6525c489"}, "type": "Results", "channel_index": [0, 1], "duration": 1.5100002, "start": 4.39, "is_final": true, "from_finalize": false, "speech_final": true} \ No newline at end of file +{"channel": {"alternatives": [{"transcript": "Ensure domestic tranquility.", "confidence": 0.9897461, "words": [{"word": "ensure", "start": 6.251818, "end": 6.6427274, "confidence": 0.9897461, "punctuated_word": "Ensure"}, {"word": "domestic", "start": 6.6427274, "end": 7.1427274, "confidence": 0.99658203, "punctuated_word": "domestic"}, {"word": "tranquility", "start": 7.19, "end": 7.4245453, "confidence": 0.92578125, "punctuated_word": "tranquility."}]}]}, "metadata": {"model_info": {"name": "general", "version": "2024-01-26.8851", "arch": "base"}, "request_id": "ed0bc4bc-4636-4c87-b669-23eb67d649d4", "model_uuid": "1ed36bac-f71c-4f3f-a31f-02fd6525c489"}, "type": "Results", "channel_index": [0, 1], "duration": 1.73, "start": 5.9, "is_final": true, "from_finalize": false, "speech_final": true} \ No newline at end of file diff --git a/tests/response_data/listen/websocket/ed5bfd217988aa8cad492f63f79dc59f5f02fb9b85befe6f6ce404b8f19aaa0d-d7334c26cf6468c191e05ff5e8151da9b67985c66ab177e9446fd14bbafd70df-response.json b/tests/response_data/listen/websocket/ed5bfd217988aa8cad492f63f79dc59f5f02fb9b85befe6f6ce404b8f19aaa0d-d7334c26cf6468c191e05ff5e8151da9b67985c66ab177e9446fd14bbafd70df-response.json index a13cb057..28573974 100644 --- a/tests/response_data/listen/websocket/ed5bfd217988aa8cad492f63f79dc59f5f02fb9b85befe6f6ce404b8f19aaa0d-d7334c26cf6468c191e05ff5e8151da9b67985c66ab177e9446fd14bbafd70df-response.json +++ b/tests/response_data/listen/websocket/ed5bfd217988aa8cad492f63f79dc59f5f02fb9b85befe6f6ce404b8f19aaa0d-d7334c26cf6468c191e05ff5e8151da9b67985c66ab177e9446fd14bbafd70df-response.json @@ -1 +1 @@ -{"channel": {"alternatives": [{"transcript": "", "confidence": 0.0, "words": []}]}, "metadata": {"model_info": {"name": "general", "version": "2024-01-26.8851", "arch": "base"}, "request_id": "8b67585a-18da-49dd-9dc5-6d4eb4566a7b", "model_uuid": "1ed36bac-f71c-4f3f-a31f-02fd6525c489"}, "type": "Results", "channel_index": [0, 1], "duration": 0.74, "start": 0.0, "is_final": true, "from_finalize": false, "speech_final": true} \ No newline at end of file +{"channel": {"alternatives": [{"transcript": "", "confidence": 0.0, "words": []}]}, "metadata": {"model_info": {"name": "general", "version": "2024-01-26.8851", "arch": "base"}, "request_id": "7a120e33-3a0c-4ff2-bb8f-db0b18b133f6", "model_uuid": "1ed36bac-f71c-4f3f-a31f-02fd6525c489"}, "type": "Results", "channel_index": [0, 1], "duration": 0.74, "start": 0.0, "is_final": true, "from_finalize": false, "speech_final": true} \ No newline at end of file diff --git a/tests/response_data/read/rest/3917a1c81c08e360c0d4bba0ff9ebd645e610e4149483e5f2888a2c5df388b37-23e873efdfd4d680286fda14ff8f10864218311e79efc92ecc82bce3e574c366-response.json b/tests/response_data/read/rest/3917a1c81c08e360c0d4bba0ff9ebd645e610e4149483e5f2888a2c5df388b37-23e873efdfd4d680286fda14ff8f10864218311e79efc92ecc82bce3e574c366-response.json index 950b867a..cdec4ad9 100644 --- a/tests/response_data/read/rest/3917a1c81c08e360c0d4bba0ff9ebd645e610e4149483e5f2888a2c5df388b37-23e873efdfd4d680286fda14ff8f10864218311e79efc92ecc82bce3e574c366-response.json +++ b/tests/response_data/read/rest/3917a1c81c08e360c0d4bba0ff9ebd645e610e4149483e5f2888a2c5df388b37-23e873efdfd4d680286fda14ff8f10864218311e79efc92ecc82bce3e574c366-response.json @@ -1 +1 @@ -{"metadata": {"request_id": "7fc42aa3-74ad-438d-ba79-5e21265a7ad5", "created": "2025-07-17T15:22:21.790Z", "language": "en", "summary_info": {"model_uuid": "67875a7f-c9c4-48a0-aa55-5bdb8a91c34a", "input_tokens": 1855, "output_tokens": 146}}, "results": {"summary": {"text": "The potential for voice-based interfaces in conversational AI applications is discussed, with a focus on voice-premises and wearable devices. The success of voice-first experiences and tools, including DeepgramQuad, is highlighted, with a focus on improving customer outcomes and speed and efficiency for everyday exchanges. The speakers emphasize the benefits of voice quality, including natural speech flow, and the potential for AI agents to be more human than humans in speech recognition. They also mention their involvement in machine learning and their plans to expand their waitlist for a speech-to-text model. They expect to release generally early next year, but if working on any real-time AI agent use cases, they can join their waitlist to jumpstart their development in production."}}} \ No newline at end of file +{"metadata": {"request_id": "0cc7d08b-5544-43ee-b453-32867880929f", "created": "2025-07-18T22:54:18.372Z", "language": "en", "summary_info": {"model_uuid": "67875a7f-c9c4-48a0-aa55-5bdb8a91c34a", "input_tokens": 1855, "output_tokens": 146}}, "results": {"summary": {"text": "The potential for voice-based interfaces in conversational AI applications is discussed, with a focus on voice-premises and wearable devices. The success of voice-first experiences and tools, including DeepgramQuad, is highlighted, with a focus on improving customer outcomes and speed and efficiency for everyday exchanges. The speakers emphasize the benefits of voice quality, including natural speech flow, and the potential for AI agents to be more human than humans in speech recognition. They also mention their involvement in machine learning and their plans to expand their waitlist for a speech-to-text model. They expect to release generally early next year, but if working on any real-time AI agent use cases, they can join their waitlist to jumpstart their development in production."}}} \ No newline at end of file diff --git a/tests/response_data/speak/rest/1fe0ad339338a9d6cffbab2c7ace41ba5387b5fe7906854795702dce91034fd3-f8c3bf62a9aa3e6fc1619c250e48abe7519373d3edf41be62eb5dc45199af2ef-response.json b/tests/response_data/speak/rest/1fe0ad339338a9d6cffbab2c7ace41ba5387b5fe7906854795702dce91034fd3-f8c3bf62a9aa3e6fc1619c250e48abe7519373d3edf41be62eb5dc45199af2ef-response.json index e3c6658e..dc120b2c 100644 --- a/tests/response_data/speak/rest/1fe0ad339338a9d6cffbab2c7ace41ba5387b5fe7906854795702dce91034fd3-f8c3bf62a9aa3e6fc1619c250e48abe7519373d3edf41be62eb5dc45199af2ef-response.json +++ b/tests/response_data/speak/rest/1fe0ad339338a9d6cffbab2c7ace41ba5387b5fe7906854795702dce91034fd3-f8c3bf62a9aa3e6fc1619c250e48abe7519373d3edf41be62eb5dc45199af2ef-response.json @@ -1 +1 @@ -{"content_type": "audio/wav", "request_id": "22f2829e-7bcd-4ed6-9d92-6414fe121722", "model_uuid": "0bb159e1-5c0a-48fb-aa29-ed7c0401f116", "model_name": "aura-2-thalia-en", "characters": 13, "transfer_encoding": "chunked", "date": "Thu, 17 Jul 2025 15:22:22 GMT"} \ No newline at end of file +{"content_type": "audio/wav", "request_id": "499a0767-db9d-490f-acb7-793ebdb0e7ab", "model_uuid": "0bb159e1-5c0a-48fb-aa29-ed7c0401f116", "model_name": "aura-2-thalia-en", "characters": 13, "transfer_encoding": "chunked", "date": "Fri, 18 Jul 2025 22:54:18 GMT"} \ No newline at end of file diff --git a/tests/response_data/speak/rest/1fe0ad339338a9d6cffbab2c7ace41ba5387b5fe7906854795702dce91034fd3-f8c3bf62a9aa3e6fc1619c250e48abe7519373d3edf41be62eb5dc45199af2ef.wav b/tests/response_data/speak/rest/1fe0ad339338a9d6cffbab2c7ace41ba5387b5fe7906854795702dce91034fd3-f8c3bf62a9aa3e6fc1619c250e48abe7519373d3edf41be62eb5dc45199af2ef.wav index 1f926aa7..9cf71805 100644 Binary files a/tests/response_data/speak/rest/1fe0ad339338a9d6cffbab2c7ace41ba5387b5fe7906854795702dce91034fd3-f8c3bf62a9aa3e6fc1619c250e48abe7519373d3edf41be62eb5dc45199af2ef.wav and b/tests/response_data/speak/rest/1fe0ad339338a9d6cffbab2c7ace41ba5387b5fe7906854795702dce91034fd3-f8c3bf62a9aa3e6fc1619c250e48abe7519373d3edf41be62eb5dc45199af2ef.wav differ diff --git a/tests/unit_test/test_unit_agent_mip_opt_out.py b/tests/unit_test/test_unit_agent_mip_opt_out.py new file mode 100644 index 00000000..39db1ce5 --- /dev/null +++ b/tests/unit_test/test_unit_agent_mip_opt_out.py @@ -0,0 +1,171 @@ +# Copyright 2024 Deepgram SDK contributors. All Rights Reserved. +# Use of this source code is governed by a MIT license that can be found in the LICENSE file. +# SPDX-License-Identifier: MIT + +import json +import pytest +from deepgram.clients.agent.v1.websocket.options import ( + SettingsOptions, + Agent, +) + + +class TestAgentMipOptOut: + """Unit tests for mip_opt_out agent setting""" + + def test_default_mip_opt_out_value(self): + """Test that mip_opt_out defaults to False""" + options = SettingsOptions() + + # Default should be False + assert options.agent.mip_opt_out == False + + # Verify it's accessible through the agent directly + agent = Agent() + assert agent.mip_opt_out == False + + def test_set_mip_opt_out_true(self): + """Test setting mip_opt_out to True""" + options = SettingsOptions() + options.agent.mip_opt_out = True + + assert options.agent.mip_opt_out == True + + def test_set_mip_opt_out_false_explicitly(self): + """Test explicitly setting mip_opt_out to False""" + options = SettingsOptions() + options.agent.mip_opt_out = False + + assert options.agent.mip_opt_out == False + + def test_mip_opt_out_serialization_default(self): + """Test that mip_opt_out with default value is excluded from serialization""" + options = SettingsOptions() + # Don't set mip_opt_out, should use default (False) + + result = options.to_dict() + + # With default False and exclude=lambda f: f is None metadata, + # the field should be excluded from serialization when it's False/default + # But let's verify the structure exists + assert "agent" in result + # The default exclude behavior might not serialize False values, let's test both cases + + def test_mip_opt_out_serialization_true(self): + """Test that mip_opt_out=True is included in serialization""" + options = SettingsOptions() + options.agent.mip_opt_out = True + + result = options.to_dict() + json_str = options.to_json() + parsed_json = json.loads(json_str) + + # Should be included when True + assert result["agent"]["mip_opt_out"] == True + assert parsed_json["agent"]["mip_opt_out"] == True + + def test_mip_opt_out_serialization_false_explicit(self): + """Test that mip_opt_out=False (explicit) behavior in serialization""" + options = SettingsOptions() + options.agent.mip_opt_out = False + + result = options.to_dict() + json_str = options.to_json() + + # The field might be excluded due to dataclass_config exclude logic + # Let's verify the actual behavior + if "mip_opt_out" in result.get("agent", {}): + assert result["agent"]["mip_opt_out"] == False + + def test_mip_opt_out_deserialization(self): + """Test deserializing mip_opt_out from dict""" + # Test with True value + data_true = { + "agent": { + "mip_opt_out": True + } + } + + options_true = SettingsOptions.from_dict(data_true) + assert options_true.agent.mip_opt_out == True + + # Test with False value + data_false = { + "agent": { + "mip_opt_out": False + } + } + + options_false = SettingsOptions.from_dict(data_false) + assert options_false.agent.mip_opt_out == False + + def test_mip_opt_out_deserialization_missing(self): + """Test deserializing when mip_opt_out is not present (should default to False)""" + data = { + "agent": { + "language": "en" + } + } + + options = SettingsOptions.from_dict(data) + assert options.agent.mip_opt_out == False + + def test_mip_opt_out_round_trip(self): + """Test serialization and deserialization round-trip""" + # Test with True + original_true = SettingsOptions() + original_true.agent.mip_opt_out = True + + serialized_true = original_true.to_dict() + restored_true = SettingsOptions.from_dict(serialized_true) + + assert restored_true.agent.mip_opt_out == True + + # Test with False (if it gets serialized) + original_false = SettingsOptions() + original_false.agent.mip_opt_out = False + + serialized_false = original_false.to_dict() + restored_false = SettingsOptions.from_dict(serialized_false) + + assert restored_false.agent.mip_opt_out == False + + def test_mip_opt_out_with_other_agent_settings(self): + """Test mip_opt_out works correctly with other agent settings""" + options = SettingsOptions() + options.agent.language = "en" + options.agent.mip_opt_out = True + options.agent.greeting = "Hello, I have opted out of MIP" + + assert options.agent.language == "en" + assert options.agent.mip_opt_out == True + assert options.agent.greeting == "Hello, I have opted out of MIP" + + # Test serialization with multiple fields + result = options.to_dict() + assert result["agent"]["language"] == "en" + assert result["agent"]["mip_opt_out"] == True + assert result["agent"]["greeting"] == "Hello, I have opted out of MIP" + + def test_mip_opt_out_type_validation(self): + """Test that mip_opt_out accepts boolean values""" + options = SettingsOptions() + + # Should accept boolean values + options.agent.mip_opt_out = True + assert options.agent.mip_opt_out == True + + options.agent.mip_opt_out = False + assert options.agent.mip_opt_out == False + + def test_agent_direct_instantiation(self): + """Test mip_opt_out when creating Agent directly""" + agent = Agent() + assert agent.mip_opt_out == False + + agent.mip_opt_out = True + assert agent.mip_opt_out == True + + # Test serialization of direct Agent instance + result = agent.to_dict() + assert result["mip_opt_out"] == True \ No newline at end of file